• <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程序員有所幫助。

             

             

            久久久久久久波多野结衣高潮| 中文字幕乱码久久午夜| 久久精品国产99久久无毒不卡| 无码AV中文字幕久久专区| 亚洲精品tv久久久久| 热99RE久久精品这里都是精品免费 | 久久久一本精品99久久精品88| 久久久久国产精品人妻| 精品久久久久久无码专区| 99re这里只有精品热久久| 久久精品国产只有精品66 | 久久精品国产精品国产精品污| 九九99精品久久久久久| 欧美久久一区二区三区| 久久A级毛片免费观看| 久久伊人五月天论坛| 久久精品水蜜桃av综合天堂| 久久五月精品中文字幕| 国产69精品久久久久9999APGF| 精品国产福利久久久| 欧美黑人激情性久久| 久久这里只有精品久久| 久久夜色精品国产亚洲| 国产午夜福利精品久久| 日产精品99久久久久久| 香蕉99久久国产综合精品宅男自 | 久久国产三级无码一区二区 | 色综合久久88色综合天天| 2021国产精品久久精品| 久久久艹| 久久96国产精品久久久| 久久久久99精品成人片欧美| 7777精品伊人久久久大香线蕉| 久久综合中文字幕| 国产精品18久久久久久vr| 亚洲级αV无码毛片久久精品| 伊人伊成久久人综合网777| 亚洲精品久久久www| 久久久久国产| 久久久久一级精品亚洲国产成人综合AV区| 国内精品久久久久久久97牛牛|