我正在尝试将QLabel添加到QMenu,因为我需要包含自动换行的文字。但它只是在菜单中添加一个空行。
#!/usr/bin/env python3
import os
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class My(object):
def __init__(self):
self.qapp = QApplication(sys.argv)
self.status_icon = QSystemTrayIcon(QIcon.fromTheme('edit-delete'))
contextMenu = QMenu()
label = QLabel('foobar')
action = QWidgetAction(self.qapp)
action.setDefaultWidget(label)
contextMenu.addAction(action)
self.status_icon.setContextMenu(contextMenu)
def run(self):
self.status_icon.show()
self.qapp.exec_()
if __name__ == '__main__':
My().run()
我做错了什么?
答案 0 :(得分:0)
在实例化QMenu
QWidgetAction
个对象
action = QWidgetAction(contextMenu)
您的代码在我的信号/插槽设置中运行良好。