我找到的信息不多,但看起来这个片段应该可以用。
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
项和上面的空项,没有出现按钮。所以,问题是 "如何在托盘菜单中添加自定义小部件?"
好吧,看来这是个bug。https:/bugreports.qt.iobrowseQTBUG-26840。
由于如果调用 menu.show()
而不是 tray.show()
一切都很好。