日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【Qt】Qt资源应用--菜单图标

發(fā)布時(shí)間:2024/4/24 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Qt】Qt资源应用--菜单图标 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 概述
    • 02. 開(kāi)發(fā)環(huán)境
    • 03. 主窗口菜單設(shè)計(jì)
    • 04. 添加資源菜單
    • 05. 使用資源文件
    • 06. 使用代碼添加菜單圖標(biāo)
    • 07. 附錄

01. 概述

主窗口部件就是一般的應(yīng)用程序主窗口,它包含了菜單欄、工具欄、中心部件、狀態(tài)欄和可停靠部件等。接下來(lái)將著重介紹菜單的實(shí)現(xiàn)以及使用資源文件來(lái)添加菜單圖標(biāo)。

02. 開(kāi)發(fā)環(huán)境

Windows系統(tǒng):Windows10

Qt版本:Qt5.15或者Qt6

03. 主窗口菜單設(shè)計(jì)

3.1 新建Qt Widgets Application,項(xiàng)目名稱4MainWindow,基類選擇QMainWindow,類名為MainWindow。

3.2 創(chuàng)建完項(xiàng)目后,雙擊mainwindow.ui文件進(jìn)入設(shè)計(jì)模式。在這里可以看到界面左上角的“在這里輸入”,我們可以在這里添加菜單。雙擊“在這里輸入”,將其更改為“文件(&F)”,然后按下回車鍵,效果如下圖所示。這里的&F表明將菜單的快捷鍵設(shè)置為了Alt+ F,可以看到,實(shí)際的顯示效果中&符號(hào)是隱藏的。

3.3 在文件菜單中添加“新建(&N)”子菜單,效果如下圖所示。菜單后面的那個(gè)加號(hào)圖標(biāo)是用來(lái)創(chuàng)建下一級(jí)菜單的。(PS:菜單中如果無(wú)法輸入中文,可以從別處復(fù)制粘貼)

04. 添加資源菜單

4.1 Qt中可以使用資源文件將各種類型的文件添加到最終生成的可執(zhí)行文件中,這樣就可以避免使用外部文件而出現(xiàn)的一些問(wèn)題。而且,在編譯時(shí)Qt還會(huì)將資源文件進(jìn)行壓縮,我們可能發(fā)現(xiàn)生成的可執(zhí)行文件比我們添加到其中的資源文件還要小。

4.2 我們向項(xiàng)目中添加新文件,模板選擇Qt分類中的Qt資源文件(Qt Resource File)。如下圖所示。然后將名稱設(shè)置為image。

4.3 添加完文件后會(huì)自動(dòng)打開(kāi)該資源文件,需要先添加前綴,點(diǎn)擊“添加”按鈕,然后選擇“添加前綴”,默認(rèn)的前綴是“/new/prefix1”,這個(gè)可以隨意修改(不要出現(xiàn)中文字符),我們這里因?yàn)橐砑訄D片,所以修改為“/image”。然后再按下添加按鈕來(lái)添加文件,這里最好將所有要用到的圖片放到項(xiàng)目目錄中。比如這里在項(xiàng)目目錄中新建了一個(gè)images文件夾,然后將需要的圖標(biāo)文件粘貼進(jìn)去。添加完文件后,如下圖所示。

4.4 當(dāng)添加完資源后,一定要按下Ctrl + S來(lái)保存資源文件,不然在后面可能無(wú)法顯示已經(jīng)添加的資源。

05. 使用資源文件

5.1 Qt中的一個(gè)菜單被看做是一個(gè)Action,我們?cè)谙旅娴腁ction編輯器(Action Editor)中可以看到剛才添加的“新建”菜單,如下圖所示。

5.2 雙擊該條目,會(huì)彈出編輯動(dòng)作對(duì)話框,這里可以進(jìn)行各項(xiàng)設(shè)置,比如我們可以設(shè)置菜單項(xiàng)的快捷鍵,點(diǎn)擊一下Shortcut后面的行編輯器,然后按下鍵盤上的Ctrl + N,這樣就可以將該菜單項(xiàng)的快捷鍵設(shè)置為Ctrl + N。如下圖所示。那么大家可能會(huì)問(wèn),既然該菜單項(xiàng)的快捷鍵是這么設(shè)置的,那么菜單項(xiàng)名稱“新建(N)”中的N是什么呢?這個(gè)可以被稱為加速鍵,就是只有當(dāng)文件菜單處于激活(顯示)狀態(tài)時(shí),按下N鍵才會(huì)執(zhí)行新建菜單的功能。

5.3 在編輯動(dòng)作對(duì)話框中的“圖標(biāo)”后面的[[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-M6SQqxnK-1616401989052)(assets/205600esc55c2kf2fsfifl.png.thumb.jpg)]](javascript:;)黑色箭頭下拉框可以選擇使用資源還是使用文件來(lái)最為圖標(biāo),如果使用文件的話,那么就可以直接在彈出的文件對(duì)話框中選擇本地磁盤上的一個(gè)圖標(biāo)文件。如果使用資源的方式,如果直接點(diǎn)擊這個(gè)按鈕就是默認(rèn)的使用資源。

06. 使用代碼添加菜單圖標(biāo)

下面我們使用代碼再來(lái)添加一個(gè)菜單項(xiàng),并為其設(shè)置圖標(biāo)。在編輯模式打開(kāi)mainwindow.cpp文件,并在構(gòu)造函數(shù)中添加如下圖所示代碼:

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);//創(chuàng)建新的動(dòng)作QAction *openAction = new QAction(tr("&Open"), this);//添加圖標(biāo)QIcon icon(":/image/images/task.png");openAction->setIcon(icon);//設(shè)置快捷鍵openAction->setShortcut(QKeySequence(tr("Ctrl+O")));//在文件菜單中設(shè)置新的打開(kāi)動(dòng)作ui->menu_F->addAction(openAction);//創(chuàng)建新的編輯菜單QMenu *menu_E = ui->menubar->addMenu(tr("編輯(&E)"));QAction *findAction = new QAction(tr("&Find"), this);QIcon icon2(":/image/images/setting.png");findAction->setIcon(icon2);findAction->setShortcut(QKeySequence("Ctrl+F"));menu_E->addAction(findAction); }

這里添加圖標(biāo)時(shí),就使用了資源文件中的圖標(biāo)。使用資源文件,需要在最開(kāi)始使用冒號(hào),然后添加前綴,后面是文件的路徑。在代碼中使用“文件菜單”,就是使用其objectName。主窗口上的菜單都是在菜單欄menuBar上的,因?yàn)檫@里使用了設(shè)計(jì)模式,所以可以通過(guò)ui->menuBar來(lái)獲取菜單欄,菜單欄是QMenuBar類對(duì)象。如果不使用設(shè)計(jì)模式而使用純代碼創(chuàng)建項(xiàng)目,那么可以直接在MainWindow類中使用menuBar()方法來(lái)獲取菜單欄。菜單欄上可以通過(guò)addMenu()來(lái)添加新的菜單,而菜單中可以使用QAction來(lái)創(chuàng)建菜單項(xiàng)。現(xiàn)在可以運(yùn)行程序查看效果。

07. 附錄

總結(jié)

以上是生活随笔為你收集整理的【Qt】Qt资源应用--菜单图标的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。