• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            解決Qt系統(tǒng)托盤上下文菜單無法消失的問題

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

            右擊系統(tǒng)托盤,可以彈出上下文菜單。

            然而在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 )

            發(fā)現(xiàn)有如下說明:

             

             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.

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

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

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

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

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

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

             

             

            人妻丰满AV无码久久不卡| 91精品国产高清久久久久久91| 久久精品18| 久久亚洲AV成人无码软件| 久久精品亚洲日本波多野结衣| 久久91综合国产91久久精品| 久久久久综合国产欧美一区二区 | 精品久久久久久成人AV| 91精品久久久久久无码| 久久久亚洲裙底偷窥综合| 久久天堂电影网| 国内高清久久久久久| 色综合色天天久久婷婷基地| 国产亚洲美女精品久久久2020| 一本一道久久精品综合| 久久久久亚洲精品日久生情| 国内精品久久久久国产盗摄| 久久ZYZ资源站无码中文动漫| 久久久精品久久久久久| 欧美伊香蕉久久综合类网站| 色综合久久久久无码专区| 思思久久99热免费精品6| 亚洲成人精品久久| 97精品伊人久久大香线蕉app| 欧美精品九九99久久在观看| 久久久久国产一区二区三区| 国产成人精品免费久久久久| 精品伊人久久大线蕉色首页| 欧美日韩精品久久久久| 国内精品久久久久久久coent| 99久久er这里只有精品18| 久久男人Av资源网站无码软件 | 久久久久久极精品久久久| 国产精品99久久精品| 久久精品99久久香蕉国产色戒| 亚洲国产欧洲综合997久久| 欧美国产成人久久精品| 狠狠综合久久AV一区二区三区| 久久久久久午夜精品| 无码国内精品久久人妻蜜桃| 奇米影视7777久久精品|