显示上下文相关子菜单

时间:2012-12-01 11:48:18

标签: python user-interface python-2.7 pyqt pyqt4

我编写了一个程序,在系统托盘中创建一个图标,然后单击鼠标右键显示一个带有2个点的上下文菜单。注释和退出,注释项是一点创建新注释的子菜单。但为什么该项目不显示注释。为什么呢?

from PyQt4 import QtCore, QtGui
import sys

def main():
    app = QtGui.QApplication(sys.argv)

    tray = QtGui.QSystemTrayIcon()
    icon = app.style().standardIcon(QtGui.QStyle.SP_DesktopIcon)
    tray.setIcon(icon)
    tray.show()
    CreateMenu(tray, app)
    sys.exit(app.exec_())

def CreateMenu(tray, app):
    m1 = QtGui.QMenu("Menu 1")
    m2 = QtGui.QMenu("Notes")
    m2.addAction("Create new note")
    m1.addMenu(m2)
    m1.addSeparator()
    m1.addAction("Quit", app.quit)
    tray.setContextMenu(m1)


if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:1)

只需将m1菜单作为父级传递给m2即可。

m1 = QtGui.QMenu("Menu 1")
m2 = QtGui.QMenu("Notes", m1)

在我的Ubuntu框上测试过。