• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 319, comments - 22, trackbacks - 0, articles - 11
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            解決Qt系統托盤上下文菜單無法消失的問題

            Posted on 2011-08-05 07:34 RTY 閱讀(739) 評論(0)  編輯 收藏 引用 所屬分類: Qt轉載隨筆

            解決Qt系統托盤上下文菜單無法消失的問題

            在Qt demo中可以找到Qt系統托盤的例子(Desktop -> System Tray)。

            右擊系統托盤,可以彈出上下文菜單。

            然而在window下,彈出的菜單無法消失,必須點擊菜單項或者應用程序窗體才會消失。

            如圖:


             

            查閱Qt的BugReport,有相關記錄。參見http://bugreports.qt.nokia.com/browse/QTBUG-7386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel。

            按照issue給出的方法,沒有能夠解決這個問題。

            參照Qt幫助文檔:

             

            void QSystemTrayIcon::setContextMenu ( QMenu * menu )

            發現有如下說明:

             

             Note: The system tray icon does not take ownership of the menu. You must ensure that it is deleted at the appropriate time by, for example, creating the menu with a suitable parent object.

             

            注意到Qt demo中給出的示例是這樣初始化上下文菜單的:

            Cpp代碼  收藏代碼
            1. trayIconMenu = new QMenu(this);  

             也就是說,該上下文菜單的context是默認的應用程序窗體,然而文檔中已經表述的非常清楚:

            The system tray icon does not take ownership of the menu.

            所以,當窗體獲得焦點時,系統托盤的上下文菜單才會消失。換言之,如果該菜單的context是整個桌面的話,點擊菜單之外的其他任何地方,菜單就會消失,這樣我們的問題就解決了。

            修改上文的初始化語句如下:

            Cpp代碼  收藏代碼
            1. trayIconMenu = new QMenu(QApplication::desktop());  

            至此,我們成功解決了這個問題。

            其實Qt的文檔中已經做出了說明,所以嚴格來說,這個bug并不是Qt本身的bug。

            希望本文對同樣被這個問題困擾的Qt程序員有所幫助。

             

             

            精品久久久久久| 久久久久久综合一区中文字幕| 精品久久久久久久久中文字幕| 波多野结衣中文字幕久久| 久久精品国产精品国产精品污| 777久久精品一区二区三区无码| 久久国产精品波多野结衣AV | 91精品国产色综合久久| 国产精品热久久毛片| 亚洲精品无码久久久久久| 97久久久精品综合88久久| 一本大道久久东京热无码AV| 99久久婷婷国产综合亚洲| 亚洲国产成人久久一区久久| 2021久久国自产拍精品| 久久久久久久久66精品片| 国产国产成人精品久久| 久久亚洲AV成人无码软件| 狠狠综合久久综合中文88| 97久久国产亚洲精品超碰热| 精品久久人人爽天天玩人人妻| 2020最新久久久视精品爱| 久久99国产精品尤物| 久久久国产精华液| 午夜精品久久久久久影视777| 伊人久久大香线蕉精品| 无码伊人66久久大杳蕉网站谷歌| 色8激情欧美成人久久综合电| 国产精久久一区二区三区| 国产精品久久久久久福利漫画| 婷婷久久久亚洲欧洲日产国码AV| 久久久精品国产| 波多野结衣久久| 欧美日韩精品久久久久| 亚洲日本va午夜中文字幕久久| 久久久久亚洲精品男人的天堂| 狠狠色丁香婷婷久久综合不卡| 国产精品久久亚洲不卡动漫| 精品久久久久久亚洲| 91精品国产91久久久久久青草| 91精品免费久久久久久久久|