无法在托盘菜单中使用python pyside2创建自定义小部件。

问题描述 投票:0回答:1

我找到的信息不多,但看起来这个片段应该可以用。

import sys

from PySide2.QtWidgets import QApplication, QMenu, QPushButton, QSystemTrayIcon, QWidgetAction

app = QApplication(sys.argv)
menu = QMenu()
button = QPushButton("yoba")
action = QWidgetAction(menu)
action.setDefaultWidget(button)
menu.addAction(action)
menu.addAction("Quit").triggered.connect(sys.exit)
tray = QSystemTrayIcon()
tray.setContextMenu(menu)
tray.show()
sys.exit(app.exec_())

但是,我只看到 Quit 项和上面的空项,没有出现按钮。所以,问题是 "如何在托盘菜单中添加自定义小部件?"

python qt pyside2
1个回答
0
投票

好吧,看来这是个bug。https:/bugreports.qt.iobrowseQTBUG-26840。

由于如果调用 menu.show() 而不是 tray.show() 一切都很好。

© www.soinside.com 2019 - 2024. All rights reserved.