qt選單問題

2021-10-14 11:35:29 字數 528 閱讀 3358

國產系統下實際專案中遇到的問題。

qt4中有時候右鍵托盤圖示,調出選單時會崩潰。

qt5中選單不能顯示qwidgetaction的選單項。

這兩個問題的出現讓我廢了不少時間排查,尤其是第二個,下面描述下簡單的解決辦法。

qt4中需要給托盤設定上下文選單,並且不能為空,否則會出現崩潰。

而在qt5中,如果要響應activated(qsystemtrayicon::activationreason)中的qsystemtrayicon::context,

那麼就不能設定上下文選單,否則將會直接呼叫選單,選單中的qwidgetaction將會不顯示。

#if qt_version < qt_version_check(5, 0, 0)

if (null == m_menu)  //小於5.0版本需要設定

m_menu = new qmenu(this);

m_systray->setcontextmenu(m_menu);

#endif

Qt程式建立選單

qt選單項的建立其實很簡單,如 c gui qt4 程式設計 所說 qt通過 動作 的概念簡化了有關選單和工具欄的程式設計。乙個動作 action 就是乙個可以新增到任意數量的選單和工具欄的項。在qt中,建立選單和工具欄包括以下幾個步驟 1.建立並且設定動作 2.建立選單並且把動作新增到選單上 3....

Qt程式建立選單

qt選單項的建立其實很簡單,如 c gui qt4 程式設計 所說 qt通過 動作 的概念簡化了有關選單和工具欄的程式設計。乙個動作 action 就是乙個可以新增到任意數量的選單和工具欄的項。在qt中,建立選單和工具欄包括以下幾個步驟 1.建立並且設定動作 2.建立選單並且把動作新增到選單上 3....

qt中的選單QMenu QAction

qt中要建立選單,有三個類很重要 qmenubar qwidget parent 0 qmenu qwidget parent 0 qmenu const qstring title,qwidget parent 0 qaction qobject parent qaction const qstr...