如何从任务栏菜单应用程序 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 对话框的主要内容,如果未能解决你的问题,请参考以下文章

如何隐藏开始菜单栏

获取特定任务栏按钮的上下文菜单文本

win7开始菜单没有搜索栏(使用win7其他主题后)

QTP怎么录制右下角任务栏通知区域的应用程序?

如何从 Electron 应用程序中隐藏菜单栏?

win7旗舰版系统任务栏窗口如何设置并排显示