国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt實(shí)現(xiàn)最小化窗口到托盤圖標(biāo)

這篇具有很好參考價(jià)值的文章主要介紹了Qt實(shí)現(xiàn)最小化窗口到托盤圖標(biāo)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

前言:

1.先看效果圖

2.大致思路以及實(shí)現(xiàn)流程

3.具體代碼以及解釋

4.總結(jié)


前言:

使用QT開發(fā)桌面軟件,將軟件最小化至托盤這樣的功能的是比較常見的,今天自己實(shí)現(xiàn)一下這個(gè)功能,并進(jìn)行記錄總結(jié)。

1.先看效果圖

Qt實(shí)現(xiàn)最小化窗口到托盤圖標(biāo)

?主要功能就是當(dāng)軟件開始運(yùn)行,在系統(tǒng)托盤會(huì)自動(dòng)出現(xiàn)一個(gè)關(guān)于本軟件的系統(tǒng)托盤的圖標(biāo),你右擊這個(gè)圖標(biāo),可以彈出一個(gè)菜單欄,這樣的效果

2.大致思路以及實(shí)現(xiàn)流程

首先Qt本身就有一個(gè)系統(tǒng)托盤的類,?QSystemTrayIcon類。

所以第一步:創(chuàng)建該類的對(duì)象,為該對(duì)象設(shè)置圖標(biāo),然后show出來,托盤圖標(biāo)就能顯示了。

第二步:要想右擊的時(shí)候糖醋一個(gè)菜單欄,需要調(diào)用QSystemTrayIcon類的setContextMenu()函數(shù),此時(shí)需要添加一個(gè)菜單欄就行了。

所以接下來看具體代碼。

3.具體代碼以及解釋

需要加頭文件

#include "qsystemtrayicon.h"
#include<qmenu.h>

.h文件中創(chuàng)建相應(yīng)的對(duì)象:

 QMenu* m_pTrayMennu;            //系統(tǒng)托盤右鍵菜單項(xiàng)
 QSystemTrayIcon* m_pSystemTray; //系統(tǒng)托盤圖標(biāo) 
 
 //右鍵菜單欄選項(xiàng)           
 QAction* m_pActionShow;
 QAction* m_pActionHide;
 QAction* m_pActionModel;
 QAction* m_pActionSetting;
 QAction* m_pActionQuit;

.cpp文件:

void CDesktopPet::CreatSystemTray()
{
    //創(chuàng)建菜單對(duì)象和托盤圖標(biāo)對(duì)象
    m_pTrayMennu = new CTrayMenu(this);
    m_pSystemTray = new QSystemTrayIcon(this);

    //創(chuàng)建菜單項(xiàng)
	m_pActionShow = new QAction(tr("Show pet"), this);
	m_pActionHide = new QAction(tr("Hide pet"), this);
	m_pActionModel = new QAction(tr("Model selecte"), this);
	m_pActionSetting = new QAction(tr("Setting"), this);
	m_pActionQuit = new QAction(tr("Exit"), this);

	//添加菜單項(xiàng)
	m_pTrayMennu->addAction(m_pActionShow);
	m_pTrayMennu->addAction(m_pActionHide);
	m_pTrayMennu->addAction(m_pActionModel);
	m_pTrayMennu->addAction(m_pActionSetting);
	m_pTrayMennu->addSeparator();
	m_pTrayMennu->addAction(m_pActionQuit);
    
    //為系統(tǒng)托盤設(shè)置菜單為m_pTrayMennu
    m_pSystemTray->setContextMenu(m_pTrayMennu);
    m_pSystemTray->setIcon(QIcon(":/CDesktopPet/Resource/image/trayIcon.png"));

    m_pSystemTray->show();
}
    

這是全部代碼,需要注意的是最后三句代碼:

1.?m_pSystemTray->setContextMenu(m_pTrayMennu);系統(tǒng)托盤類對(duì)象設(shè)置上下文菜單為(m_pTrayMennu);

2.?m_pSystemTray->setIcon(QIcon(":/CDesktopPet/Resource/image/trayIcon.png"));系統(tǒng)托盤類對(duì)象對(duì)象設(shè)置圖標(biāo),這個(gè)必須有,不設(shè)置圖標(biāo)是顯示不出來的。

3.?m_pSystemTray->show();顯示系統(tǒng)托盤類對(duì)象。

在新建項(xiàng)目的界面類的構(gòu)造函數(shù)里調(diào)用CreatSystemTray()函數(shù),就可以了!

如果還想把任務(wù)欄的系統(tǒng)圖標(biāo)給隱藏掉,可以加上這句:

setWindowFlags(Qt::Tool);

4.總結(jié)

該功能實(shí)現(xiàn)起來還是比較簡(jiǎn)單,其實(shí)還有很多后續(xù)工作需要繼續(xù)完善,比如點(diǎn)擊了退出菜單項(xiàng),將程序退出;這個(gè)實(shí)現(xiàn)需要添加槽函數(shù),來接受右鍵菜單項(xiàng)的信號(hào),在相應(yīng)的槽函數(shù)中直接調(diào)用退出函數(shù)QApplication::exit(0);即可,在此小小記錄一下。文章來源地址http://www.zghlxwxcb.cn/news/detail-402725.html

到了這里,關(guān)于Qt實(shí)現(xiàn)最小化窗口到托盤圖標(biāo)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 從0到1,手把手帶你開發(fā)截圖工具ScreenCap------003實(shí)現(xiàn)最小化程序到托盤運(yùn)行

    從0到1,手把手帶你開發(fā)截圖工具ScreenCap------003實(shí)現(xiàn)最小化程序到托盤運(yùn)行

    為了方便截圖干凈,實(shí)現(xiàn)最小化程序到托盤運(yùn)行,簡(jiǎn)潔,勿擾 實(shí)現(xiàn)最小化程序到托盤運(yùn)行 實(shí)現(xiàn)托盤菜單功能 實(shí)現(xiàn)回顯主窗體 實(shí)現(xiàn)托盤開始截屏 實(shí)現(xiàn)氣泡信息提示 實(shí)現(xiàn)托盤程序提示 實(shí)現(xiàn)托盤退出程序 封裝完好,可復(fù)用 注:博主所有資源永久免費(fèi),若有幫助,請(qǐng)點(diǎn)贊轉(zhuǎn)發(fā)是

    2024年02月05日
    瀏覽(27)
  • 【Qt UI相關(guān)】Qt中如何控制 窗口的最大化、最小化和關(guān)閉按鈕?一文帶你掌握用法

    【Qt UI相關(guān)】Qt中如何控制 窗口的最大化、最小化和關(guān)閉按鈕?一文帶你掌握用法

    窗口的最大化、最小化和關(guān)閉按鈕通常是由操作系統(tǒng)的窗口管理器控制的,而不是由應(yīng)用程序控制的。這些按鈕的行為(例如點(diǎn)擊最大化按鈕會(huì)將窗口的大小調(diào)整為屏幕的大小)是由窗口管理器實(shí)現(xiàn)的,應(yīng)用程序通常不能改變這些行為。 在 Qt 中,你可以通過 QWidget::setWindow

    2024年02月11日
    瀏覽(30)
  • 捕獲最小化窗口的縮略圖畫面

    捕獲最小化窗口的縮略圖畫面

    : capture minimized window window thumbnail IsIconic? 最小化的窗口,API GetClientRect 返回的窗口尺寸是0x0,故無(wú)法通過GetDC+BitBlt捕獲到窗口畫面。 但是 Agora/zoom/tencentMeeting 都可以拿到最小化窗口的縮略圖。經(jīng)確認(rèn)這個(gè)程序并沒有注入任何dll到目標(biāo)窗口,且也沒有臨時(shí)顯示最小化了

    2024年02月07日
    瀏覽(28)
  • 第二章 Electron自定義界面(最大化、最小化、關(guān)閉、圖標(biāo)等等)

    第二章 Electron自定義界面(最大化、最小化、關(guān)閉、圖標(biāo)等等)

    Electron是一個(gè)使用 JavaScript、HTML 和 CSS 構(gòu)建桌面應(yīng)用程序的框架。 嵌入 Chromium 和 Node.js 到 二進(jìn)制的 Electron 允許您保持一個(gè) JavaScript 代碼代碼庫(kù)并創(chuàng)建 在Windows上運(yùn)行的跨平臺(tái)應(yīng)用 macOS和Linux——不需要本地開發(fā)經(jīng)驗(yàn)(這段話是來自官網(wǎng))。 這里我已經(jīng)搭建好了項(xiàng)目 ?????? 快

    2024年02月05日
    瀏覽(28)
  • Python中最全的窗口操作,如窗口最大化、最小化、窗口置頂、獲取縮放比例等

    Python中最全的窗口操作,如窗口最大化、最小化、窗口置頂、獲取縮放比例等

    本文記錄在Python中操作 Windows 應(yīng)用窗口的操作。 這里的操作都是自己摸索+借助強(qiáng)大的搜索引擎整理出來的,我真棒!?。?名稱 解釋名稱 ctypes Python 的外部函數(shù)庫(kù)。它提供了與 C 兼容的數(shù)據(jù)類型,并允許調(diào)用 DLL 或共享庫(kù)中的函數(shù)。 pywin32 是Win32(PYWIN32)擴(kuò)展的 Python 的ream

    2024年01月16日
    瀏覽(57)
  • win10/win11程序窗口最小化后, 點(diǎn)擊任務(wù)欄無(wú)法彈出的問題處理

    在本人使用win10、win11系統(tǒng)時(shí),有時(shí)打開某個(gè)程序的多個(gè)窗口,最小化該程序窗口后,長(zhǎng)時(shí)間不對(duì)該窗口做任何操作。 在較長(zhǎng)時(shí)間后,點(diǎn)擊任務(wù)欄,發(fā)現(xiàn)無(wú)法彈出該程序窗口,但是在任務(wù)欄上 右鍵 點(diǎn)擊該窗口圖標(biāo),選擇 關(guān)閉窗口 可以正常關(guān)閉該窗口,說明程序未卡死、 這種

    2024年02月16日
    瀏覽(46)
  • 關(guān)于Windows桌面遠(yuǎn)程后,unity程序無(wú)法全屏顯示或者顯示窗口默認(rèn)最小化解決方法

    關(guān)于Windows桌面遠(yuǎn)程后,unity程序無(wú)法全屏顯示或者顯示窗口默認(rèn)最小化解決方法

    按以下步驟操作 1、Win+R打開運(yùn)行,然后輸入regedit打開注冊(cè)表 2、根據(jù)計(jì)算機(jī)HKEY_CURRENT_USERSoftwareDefaultCompany路徑找到DefaultCompany的文件夾 3、在DefaultCompany文件夾下找到unity打包時(shí)exe文件對(duì)應(yīng)名稱的文件夾,右鍵刪除整個(gè)文件夾,刪除后再去啟動(dòng)unity.exe程序即可恢復(fù)正常顯示畫

    2024年04月10日
    瀏覽(19)
  • 機(jī)器學(xué)習(xí)的學(xué)習(xí)準(zhǔn)則(期望風(fēng)險(xiǎn)最小化、經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化、結(jié)構(gòu)風(fēng)險(xiǎn)最小化)

    機(jī)器學(xué)習(xí)的學(xué)習(xí)準(zhǔn)則(期望風(fēng)險(xiǎn)最小化、經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化、結(jié)構(gòu)風(fēng)險(xiǎn)最小化)

    訓(xùn)練集是有N個(gè)獨(dú)立同分布的樣本組成,即每個(gè)樣本(x,y)是獨(dú)立的從相同的分布中抽取的。這個(gè)真實(shí)的分布未知 輸入空間X和輸出空間Y構(gòu)成樣本空間,對(duì)于樣本空間中的樣本(x, y)∈X x Y,假定x和y之間可通過一個(gè)未知的真實(shí)隱射y=g(x)來描述,或者通過真實(shí)條件概率分布來描述。

    2024年02月09日
    瀏覽(21)
  • C# winform窗體UI美化后實(shí)現(xiàn)最大化、最小化、還原、關(guān)閉、窗體移動(dòng)等等-2023/1/11

    在做winform窗體UI美化時(shí),一般都需要將窗體的FormBorderStyle屬性設(shè)為None,之后窗體就會(huì)沒有最上面的標(biāo)題欄,然后按照UI進(jìn)行界面的設(shè)計(jì)。美化的代價(jià)就是窗體本來標(biāo)題欄的相關(guān)操作,例如雙擊自動(dòng)最大化,再次雙擊又恢復(fù)正常大小,以及上窗體關(guān)閉、最小化等功能就都需要自

    2024年02月08日
    瀏覽(28)
  • DFA的最小化

    DFA的最小化

    一、實(shí)驗(yàn)?zāi)康?1.熟練掌握DFA與NFA的定義與有關(guān)概念。 2.理解并掌握確定的有窮自動(dòng)機(jī)的最小化等算法。 二、實(shí)驗(yàn)要求 輸入:DFA 輸出:最小化的DFA 三、實(shí)驗(yàn)過程 1.化簡(jiǎn)DFA關(guān)鍵在于把它的狀態(tài)集分成一些兩兩互不相交的子集,使得任何兩個(gè)不相交的子集間的狀態(tài)都是可區(qū)分

    2024年02月09日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包