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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt学习三 - 菜单栏、工具栏、状态栏

發布時間:2023/12/31 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt学习三 - 菜单栏、工具栏、状态栏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this);/** QAction是Qt中用于添加動作的類,* 可以將它添加在菜單,作為一個菜單項,也可以添加到工具欄,作為一個工具欄按鈕* 其中參數一是設置該操作按鈕的圖標,":/images/icon"是資源文件的路徑* 參數二中"&"號代表設置快捷鍵為"Alt+o"*/QAction *open = new QAction(QIcon(":/images/icon"),"Open(&O)",this);/*** 設置快捷鍵為"Ctrl+o"* 這里使用QKeySequence類是為了可以跨平臺,例如pc和mac下的鍵盤不一樣,Qt可以根據平臺不同設置相應的快捷鍵* 該類中為我們定義了很多內置的快捷鍵,可以直接使用,例如下面注釋的一行。* 也可以自己創建一個QKeySequence類,傳入我們想要設置的快捷鍵。*///open->setShortcut(QKeySequence(QKeySequence::Open));open->setShortcut(QKeySequence("Ctrl+O"));//設置工具提示open->setToolTip("open file");//狀態欄提示open->setStatusTip("open existing file");//在菜單欄中添加一個菜單。因為Qt界面工程,默認自帶了菜單欄、工具欄和狀態欄,所以我們可以直接使用ui->menuBar來調用QMenu *file = ui->menuBar->addMenu("File(&F)");//將open動作作為一個菜單項添加到file菜單中file->addAction(open);//添加到工具欄ui->mainToolBar->addAction(open);//創建狀態欄,Qt界面工程已經創建//statusBar(); }

狀態欄可以顯示臨時信息、永久信息和其他組件,例如:

statusBar()->showMessage("歡迎!");

運行結果如下:

還可以設定顯示時間,毫秒為單位,例如:

statusBar()->showMessage("歡迎!",2000);

這樣信息會在2秒后消失。

下面在狀態欄中顯示一些組件,聲明一個私有變量

namespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();private:Ui::MainWindow *ui;QLabel *statusLabel; };

然后在構造函數中添加,如下代碼

statusLabel = new QLabel(this);statusLabel->setFrameShape(QFrame::WinPanel);statusLabel->setFrameShadow(QFrame::Sunken);ui->statusBar->addWidget(statusLabel);statusLabel->setText("歡迎!!!");

運行如下:

這樣就可以在需要顯示信息的時候,調用statusLabel->setText()來設置了。

狀態欄顯示永久信息需要使用addPermanentWdget函數來添加一個可以顯示信息的組建,它會顯示在狀態欄的右側,不會被臨時信息所遮蓋。

QLabel *permanent = new QLabel;permanent->setFrameStyle(QFrame::Box | QFrame::Sunken);permanent->setText(tr("<a href=\"http://www.baidu.com\">baidu.com</a>"));permanent->setTextFormat(Qt::RichText); //設置為超文本permanent->setOpenExternalLinks(true); //開啟自動打開超鏈接ui->statusBar->addPermanentWidget(permanent);

運行結果如下:

在Qt中,mainwindow類提供了menuBar()函數來返回一個菜單欄(QMenuBar),如果沒有菜單欄則會新建一個;提供了addToolBar()函數來新加一個工具欄(QToolBar);以及返回狀態欄(QStatusBar)的statusBar()函數。上面的代碼沒有使用這三個函數,是因為Qt界面工程默認已經創建好了。這三個函數僅在mainwindow類中存在,QDialog和QWidget等其他類中都沒有提供這三個函數。那么如果我們需要在QDialog或者QWidget類中使用菜單欄、工具欄和狀態欄時怎么辦?QMenuBar,QToolBar,QStatusBar都繼承自QWidget,所以我們可以像使用其他QWidget子類那樣進行操作。例如:

QMenuBar *menuBar = new QMenuBar(this);QMenu *menu = menuBar->addMenu("&File");QAction *open = new QAction("&Open1",this);open->setStatusTip("open exsiting file");menu->addAction(open);

?

轉載于:https://www.cnblogs.com/wangcb/p/6665822.html

總結

以上是生活随笔為你收集整理的Qt学习三 - 菜单栏、工具栏、状态栏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 影音先锋啪啪 | 鲁丝一区二区 | 综合久久2o19 | 放荡的少妇2欧美版 | 亚洲av日韩av不卡在线观看 | 爱的天堂 | 精品福利一区二区三区 | 豆豆色成人网 | 午夜电影一区二区 | 欧美性色网站 | 精品免费国产一区二区三区四区 | 日韩欧美亚洲一区二区三区 | 一女三黑人理论片在线 | 泷泽萝拉在线播放 | 国产欧美精品一区二区色综合 | 国产成人精品久久二区二区 | 91久久精品日日躁夜夜躁国产 | 国产精品日韩精品欧美精品 | 本田岬av | 国产日韩激情 | 欧美老女人性生活视频 | 久草免费网站 | 免费一级欧美片在线播放 | 日韩一区二区视频在线观看 | av番号网| 欧产日产国产69 | 亚洲天堂一二三 | 男女视频免费网站 | 香蕉日日 | 巨物撞击尤物少妇呻吟 | 三级全黄做爰龚玥菲在线 | 中文字幕中文字幕 | 日本xxx高清 | 精品国产九九九 | 色5566| 久久影院一区二区 | 亚洲人妖在线 | 精品美女久久久 | 国产精品一区二区三区免费观看 | 成人丁香婷婷 | 一级黄色大片视频 | 国产色99 | 亚洲精品一区二三区不卡 | 国产高清免费在线观看 | 欧美14sex性hd摘花 | 欧美黄色免费 | 亚洲av无码乱码国产麻豆 | 久久精品国产网红主播 | 天天添 | 乳色吐息免费看 | 毛片基地在线观看 | 国产精品免费入口 | 亚洲国产成人在线视频 | av导航在线 | 少妇高潮久久久久久潘金莲 | 黄色男同视频 | 黄色一级大片在线免费看国产一 | 国产精品三级av | 中文字幕亚洲乱码 | 性国产精品| 一本久久精品一区二区 | 特黄特色免费视频 | 亚洲国产精彩中文乱码av | 日韩福利一区 | 亚洲人视频在线 | xxxxxx黄色| 一区二区欧美精品 | 一区二区三区在线不卡 | 美女干b视频 | 青青草国产在线视频 | 91蝌蚪网 | 国产中文字幕久久 | 天天撸在线视频 | 大色av | 亚洲免费观看高清完整版在线 | 国产精品久久午夜夜伦鲁鲁 | 亚洲大片在线观看 | 亚洲天堂免费视频 | 亚洲色图激情小说 | 少妇人妻在线视频 | 黄色大片久久 | 国产女人18毛片水真多1 | 黄色av免费观看 | 爱爱视频网站 | 国产精品12页 | 亚洲人成影视 | 久久久久久av无码免费网站 | 日韩黄片一区二区三区 | 精品国产欧美日韩 | 一区二区毛片 | 中文字幕在线播放 | 88av在线播放 | 精品无码人妻一区二区三区 | 青青草手机在线 | www.成人在线 | 在线步兵区 | 国产在线看黄 | 精品在线视频一区二区三区 | 国产欧美中文字幕 |