如何从任务栏菜单应用程序 Python/Pyside2 for MacOS 显示 Hello World 对话框
Posted
技术标签:
【中文标题】如何从任务栏菜单应用程序 Python/Pyside2 for MacOS 显示 Hello World 对话框【英文标题】:How to display Hello World dialog from TaskBar Menu Application Python/Pyside2 for MacOS 【发布时间】:2019-01-16 14:13:17 【问题描述】:首先创建一个虚拟的“hello world”对话框/窗口,如何在 MacOS 上从任务栏/菜单显示它。谢谢。
【问题讨论】:
【参考方案1】:如果我理解了你的问题,
你想从QMainWindow
的菜单栏中打开QDialog
,对吧?
这是一个简单的方法:
import sys
from PySide2.QtCore import Slot
from PySide2.QtWidgets import (QApplication, QMainWindow, QAction,
QDialog, QLabel, QHBoxLayout)
class Dialog(QDialog):
def __init__(self):
QDialog.__init__(self)
layout = QHBoxLayout()
layout.addWidget(QLabel("Hello World"))
self.setLayout(layout)
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.menu = self.menuBar()
self.test_menu = self.menu.addMenu("Test")
self.hello_action = QAction("hello", self)
self.hello_action.triggered.connect(self.hello_dialog)
self.test_menu.addAction(self.hello_action)
@Slot()
def hello_dialog(self, checked):
dialog = Dialog()
dialog.exec_()
if __name__ == "__main__":
app = QApplication()
window = MainWindow()
window.show()
sys.exit(app.exec_())
【讨论】:
不,我想要的是显示一个对话框或窗口,集成在 MacOS 任务栏/菜单的菜单栏中!不要从需要打开窗口的菜单中打开。像这样:***.com/questions/54104947/…以上是关于如何从任务栏菜单应用程序 Python/Pyside2 for MacOS 显示 Hello World 对话框的主要内容,如果未能解决你的问题,请参考以下文章