1
我嘗試在QMenu中插入QWidgetAction,QMenu將用作托盤的上下文菜單。當我這樣做時,我的菜單中只有一條空行。QWidgetAction在QMenu中不起作用托盤的上下文菜單
我正在使用Qt 5.5.1。我從Plasma 5桌面環境(Linux)工作。
這裏是我的代碼:
action = new QWidgetAction(0);
testw = new QWidget();
testl = new QLabel(QString("Test"), testw);
action->setDefaultWidget(testw);
menu.addAction(action);
trayIcon.setContextMenu(&menu);
如果我使用menu.addAction(QString("Test"))
- 這是正確顯示。 所有變量都是我的類的成員(如果這可能有任何意義)。
感謝所有幫助
我不認爲這可能有效。系統托盤圖標菜單不由應用程序管理;菜單的「描述」通過DBus序列化。因此,您不能在其中嵌入小部件。 – peppe
我試過了@AlexanderVX和類似方法的解決方案,但是(像@佩佩說的),這在我的系統托盤中不起作用(我運行的是Lubuntu 14.04)。然而,我使用的解決方法 - 因爲在我的情況下,我只需要顯示文本 - 就是調用我想用作標籤的'QAction'的'setDisabled'方法 – sunyata