QMenu中的QLabel
我想在一个 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()
我哪里做错了呢?
1 个回答
0
在创建 QWidgetAction
的时候,传入一个 QMenu
对象。
action = QWidgetAction(contextMenu)
你的代码在我的信号/槽设置中运行得很好。