QT使用教程之QMainWindow概述
1、QMainWindow概述
QMainWindow是一個為用戶提供主窗口程序的類,包含一個菜單欄(menu bar)、多個工具欄(tool bars)、多個鉚接部件(dock widgets)、一個狀態(tài)欄(status bar)及一個中心部件(central widget)。
2、菜單欄
菜單欄類QMenuBar
菜單類QMenu
QAction類:充當子菜單(菜單項)
#include
#include
#include
resize(800,600);
//創(chuàng)建菜單欄
QMenuBar *menubar = new QMenuBar(this);
this->setMenuBar(menubar);
//創(chuàng)建菜單
QMenu *menu1 = new QMenu("文件");
QMenu *menu2 = new QMenu("編輯");
QMenu *menu3 = new QMenu("構(gòu)建");
menubar->addMenu(menu1);
menubar->addMenu(menu2);
menubar->addMenu(menu3);
//創(chuàng)建菜單項
QAction *act1 = new QAction ("打開文件");
QAction *act2 = new QAction ("另存為");
QAction *act3 = new QAction ("關(guān)閉文件");
menu1->addAction(act1);
menu1->addAction(act2);
menu1->addAction(act3);
補充:
另一種創(chuàng)建菜單欄的方式(成員函數(shù))
QMenuBar *menubar = menuBar();
點擊菜單項,實現(xiàn)對應(yīng)功能
connect(act3,&QAction::triggered,this,&QMainWindow::close);
3、工具欄
工具欄類QToolBar:
QAction類:充當子工具(工具項)
#include
//創(chuàng)建工具欄
QToolBar *toolbar = new QToolBar(this);
//this->addToolBar(toolbar);
this->addToolBar(Qt::LeftToolBarArea ,toolbar);
//創(chuàng)建工具項
QAction *act4 = new QAction ("工具");
toolbar->addAction(act1);
toolbar->addAction(act2);
toolbar->addAction(act3);
toolbar->addAction(act4);
//使用setAllowedAreas()函數(shù)指定停靠區(qū)域:
toolbar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
//修改工具欄不可移動(默認可上下左右移動)
toolbar->setMovable(false);
//設(shè)置工具欄的浮動狀態(tài)(默認可懸浮窗口)
toolbar->setFloatable(false);
4、狀態(tài)欄
狀態(tài)欄QStatusBar:
#include
//創(chuàng)建狀態(tài)欄
QStatusBar *statusbar = statusBar();
// QStatusBar *statusbar = new QStatusBar(this);
this->setStatusBar(statusbar);
//增加臨時信息
//statusbar->showMessage("頁面顯示成功",3000);
//增加正式信息(一般位于狀態(tài)欄左側(cè))
QLabel *label1 = new QLabel("打開文件", this);
statusbar->addWidget(label1);
//增加永久信息(一般位于狀態(tài)欄右側(cè))
QLabel *label2 = new QLabel("www.qf.com", this);
statusbar->addPermanentWidget(label2);
狀態(tài)欄信息分類:
臨時信息
正式信息
永久信息
5、鉚接部件(浮動窗口)
鉚接部件QDockWidget:
#include
QDockWidget *dockwidget = new QDockWidget("first",this);
this->addDockWidget(Qt::TopDockWidgetArea ,dockwidget);
6、核心部件
除了以上部件以外,我們可以創(chuàng)建其他部件作為核心部件
#include
//創(chuàng)建記事本作為核心部件
QTextEdit *edit = new QTextEdit("文本編輯器", this);
this->setCentralWidget(edit);
7、資源文件
Qt 資源系統(tǒng)是一個跨平臺的資源機制,用于將程序運行時所需要的資源以二進制的形式存儲于可執(zhí)行文件內(nèi)部。
加載資源:
步驟1:新增資源文件(右鍵工程新增資源文件)
步驟2:給資源文件增加前綴
步驟3:給資源文件增加資源(圖片)
步驟4:起別名(選用)
案例1、給菜單項加載圖片
//創(chuàng)建圖片控件
QPixmap pix;
//選擇圖片
pix.load(":/image/add.png");
//給菜單項設(shè)置圖片
act1->setIcon(QIcon(pix));
案例2、增加背景圖(補充)
this->setFixedSize(800,600);
this->setAutoFillBackground(true);//允許繪制
//創(chuàng)建圖片控件
QPixmap pix = QPixmap(":/image/butterfly.png").scaled(this->size());
// pix.load(":/image/butterfly.png");
QPalette palette;
palette.setBrush(QPalette::Background,QBrush(pix));
this->setPalette(palette);
8、UI文件
ui功能:繪制界面(通過拖拽控件)
ui使用:

相關(guān)推薦HOT
更多>>
unity圖集合并成圖片
Unity圖集合并成圖片是一種將多個小圖片合并成一個大圖片的技術(shù)。這種技術(shù)在游戲開發(fā)中非常常見,可以有效地減少內(nèi)存占用和提高渲染效率。我們...詳情>>
2023-08-28 18:07:44
unity向量旋轉(zhuǎn)得另一向量
Unity中的向量旋轉(zhuǎn)是一項常見的操作,可以通過使用旋轉(zhuǎn)矩陣或四元數(shù)來實現(xiàn)。以下是關(guān)于如何在Unity中旋轉(zhuǎn)一個向量得到另一個向量的詳細解釋。在...詳情>>
2023-08-28 18:07:42
unity哪個版本免費
Unity是一款強大的游戲開發(fā)引擎,提供了許多功能和工具,可以幫助開發(fā)者輕松創(chuàng)建高質(zhì)量的游戲。關(guān)于Unity的版本免費問題,我將為你詳細解答。Un...詳情>>
2023-08-28 18:07:42
unity對象池怎么寫
Unity對象池是一種常用的優(yōu)化技術(shù),用于管理和重復(fù)利用游戲中的對象,以減少內(nèi)存分配和銷毀的開銷。在Unity中,可以通過編寫一些代碼來實現(xiàn)對象...詳情>>
2023-08-28 18:07:41熱門推薦
快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學習費用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學習資源
領(lǐng)3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線