最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

QT學(xué)記四:菜單欄

2021-11-28 13:55 作者:風(fēng)菩提樹  | 我要投稿

1.QT的菜單欄

在某些軟件中,會(huì)有菜單欄這個(gè)選擇,如QT軟件中的菜單欄,如下圖:


點(diǎn)擊菜單欄中的文件就會(huì)顯示如右:菜單欄應(yīng)用場(chǎng)景:軟件開發(fā)中的功

能選擇比較多的時(shí)候。

2.菜單欄、菜單、菜單項(xiàng)

菜單欄:專門放菜單,相當(dāng)一個(gè)專門放菜單的容器;

菜單:其下有很多選擇項(xiàng)拱用戶選擇,即菜單項(xiàng)

3.菜單欄的類介紹

一個(gè)主窗口最多只有一個(gè)菜單欄, 位于主窗口頂部、 主窗口標(biāo)題欄下面。

(1)創(chuàng)建菜單欄

通過(guò) QMainWindow 類的 menuBar() 函數(shù)獲取主窗口菜單欄指針 QMenuBar * menuBar() const ;QMenuBar就是一個(gè)菜單欄類,this->menuBar();就會(huì)獲得該窗口的菜單欄這個(gè)對(duì)象。?

(2)菜單欄創(chuàng)建菜單

要?jiǎng)?chuàng)建菜單, 需要調(diào)用 QMenu 的成員函數(shù) addMenu 來(lái)添加菜單

QAction* addMenu(QMenu * menu)

QMenu* addMenu(const QString & title)

那么誰(shuí)來(lái)添加?

前面的菜單欄:this->menubar();

即 QMenu? * menu(菜單) = this->menuBar()->addMenu(“菜單名”);

(3)創(chuàng)建菜單項(xiàng)

Qt 并沒有專門的菜單項(xiàng)類, 只是使用一個(gè) QAction 類, 抽象出公共的動(dòng)作。當(dāng)我們把 QAction 對(duì)象添加到菜單, 就顯示成一個(gè)菜單項(xiàng)。

QAction(const QString &text, QObject *parent = nullptr)

用戶可以通過(guò)點(diǎn)擊菜單項(xiàng)、? 使用快捷鍵來(lái)激活這個(gè)動(dòng)作。

即QAction *返回名 = new QAction(tr(“打開”),this);

這里一定要加this。這是因?yàn)橐_定它的父對(duì)象。

(4)菜單添加菜單項(xiàng)

添加菜單項(xiàng), 需調(diào)用 QMenu 的成員函數(shù) addAction 來(lái)添加菜單項(xiàng)

QAction* addAction(const QString & text)

QAction* addAction(const QIcon & icon, const QString & text)

QAction* addAction(const QString & text, const QObject * receiver,

即如 menu(菜單).addAction(“菜單項(xiàng)名”);?

7.程序設(shè)計(jì)之mainwindow.h頭文件(最后面有代碼塊復(fù)制)

純粹是使用QT中的類來(lái)創(chuàng)建的。

8.程序設(shè)計(jì)之mainwindow.cpp文件

9.在ui界面設(shè)計(jì)中設(shè)計(jì)菜單欄

在 qt 中, 如果想要使用菜單欄功能, 那么界面的基類要選擇QMainWindow,不能選擇 QWidget QDialog

實(shí)現(xiàn)菜單欄步驟如下:

第一步: 在 UI界面設(shè)計(jì)文件中, 直接雙擊菜單欄,輸入完畢后,要按Enter回車確認(rèn)才可以設(shè)置成功。

結(jié)果:

第二步: 設(shè)置菜單項(xiàng)(tuichu)中文名為“退出”,雙擊下面的紅色框即可以打開菜單項(xiàng)的屬性設(shè)置。在設(shè)置快捷鍵時(shí),選中Shortcut,然后在鍵盤按你要設(shè)置的按鍵。

第三步:建立菜單項(xiàng)的點(diǎn)擊動(dòng)作的信號(hào)與槽。鼠標(biāo)右鍵,選中“轉(zhuǎn)到槽”,彈出選擇信號(hào),選擇信號(hào)“triggered()”,此信號(hào)是一次性的,點(diǎn)擊后,無(wú)法改變狀態(tài),要么是打開,要么是關(guān)閉。

“toggled()”是checkable按鈕或是圖標(biāo)來(lái)使用的。打開、關(guān)閉兩個(gè)狀態(tài)之間轉(zhuǎn)變。?

第四步:編寫退出槽函數(shù)的程序

結(jié)果:點(diǎn)擊管理,再點(diǎn)擊退出,會(huì)直接關(guān)閉當(dāng)前窗口。

10.有提示的退出

想要有提示的退出,要重載一個(gè)函數(shù):

函數(shù)中:

頭文件:

11.有提示的退出之程序設(shè)計(jì)一

13.有提示的退出之程序設(shè)計(jì)二

在MainWindow.cpp文件中實(shí)現(xiàn)closeEvent函數(shù)

結(jié)果:點(diǎn)擊yes才會(huì)退出,點(diǎn)擊no不退出

視頻結(jié)果顯示:

可以在視頻稿件中查找看到。

代碼塊:

mainwindow.h

mainwindow.cpp


謝謝閱讀,覺得好,點(diǎn)個(gè)贊!



QT學(xué)記四:菜單欄的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
孟连| 丹巴县| 浦东新区| 延长县| 沂南县| 镇平县| 阿巴嘎旗| 武乡县| 札达县| 邵东县| 青冈县| 玛沁县| 恩施市| 屯留县| 天台县| 韩城市| 丽水市| 理塘县| 安义县| 都兰县| 余干县| 崇信县| 泗阳县| 萨迦县| 杨浦区| 长寿区| 汉沽区| 沙坪坝区| 彝良县| 牙克石市| 始兴县| 日喀则市| 承德县| 沭阳县| 喀喇沁旗| 贵溪市| 安阳县| 江门市| 沭阳县| 抚宁县| 宝坻区|