Qt中的QMainWindow
生活随笔
收集整理的這篇文章主要介紹了
Qt中的QMainWindow
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1 Qt中的QMainWindow簡介
- 1.1 應用程序中的主窗口
- 1.2 QMainWindow
- 2 QMainWindow中的菜單欄
- 3 QMainWindow中的工具欄
- 4 QMainWindow中的狀態欄
1 Qt中的QMainWindow簡介
1.1 應用程序中的主窗口
應用程序中的主窗口:
- 主窗口是與用戶進行長時間交互的頂層窗口。
- 程序的絕大多數功能直接由主窗口提供。
- 主窗口通常是應用程序啟動后顯示的第一個窗口。
- 整個程序由一個主窗口和多個對話框組成。
1.2 QMainWindow
Qt中的主窗口:
- Qt開發平臺中直接支持主窗口的概念。
- QMainWindow是Qt中主窗口的基類。
- QMainWindow繼承于QWidget是一種容器類型的組件。
QMainWindow中封裝的秘密:
QMainWindow中的組件布局:
2 QMainWindow中的菜單欄
菜單欄只能有一個!
在Qt中提供與菜單相關的類組件:
在Qt主窗口中創建菜單:
注意:QAction* action = new QAction("New(&O)", NULL);,這里也可以設置快捷鍵。
快捷鍵設置:
action->setShortcut(QKeySequence(KEY)):
- QKeySequence:Qt中與快捷鍵相關的類。
- KEY:Qt中代表鍵值的常量,比如Qt::CTRL, Qt::KEY_X。
QAction的信號:
QAction被點擊之后會產生一個triggered信號:
- 通過信號與槽的機制能夠捕捉到QAction對象的操作。
- 項目中可以將多個信號映射到同一個槽函數。
3 QMainWindow中的工具欄
工具欄的概念和意義:
- 應用程序中集成各種功能實現快捷使用的一個區域。
- 工具欄并不是應用程序必須存在的組件。
- 工具欄中的元素可以是各種窗口組件。
- 工具欄中的元素通常以圖標按鈕的方式存在。
在Qt中提供與工具欄相關的組件:
工具欄可以有多個!
在Qt主窗口中創建工具欄:
QToolBar的關鍵成員函數:
- void setFloatable(bool floatable):設置工具欄是否可以懸浮(不在指定的邊框位置)。
- void setMovable(bool movable):設置工具欄是否可以拖動。
- void setIconSize(const QSize& iconSize):設置工具欄圖標的大小。
QToolBar中可以加入任意的QWidget組件:
4 QMainWindow中的狀態欄
狀態欄的概念和意義:
- 狀態欄是應用程序中輸出簡要信息的區域。
- 狀態欄一般位于主窗口的最底部。
- 狀態欄中的消息類型:
- 實時消息,如:當前程序狀態。
- 永久消息,如:程序版本號,機構名稱。
- 進度消息,如:進度條提示,百分比提示。
在Qt中提供與狀態欄相關的類組件:
在Qt主窗口中創建狀態欄:
Qt狀態欄的設計原則:
- 左邊的區域用于輸出實時消息。
- 右邊的區域用于設置永久消息。
- addWidget在狀態欄左半部分添加組件。
- addPermanentWidget在狀態欄右半部分添加組件。
狀態欄示例程序:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {QStatusBar* sb = statusBar();QLabel* l = new QLabel("Label");QLineEdit* e = new QLineEdit();QPushButton* b = new QPushButton("Button");sb->addPermanentWidget(l);sb->addPermanentWidget(e);sb->addPermanentWidget(b);sb->showMessage("D.T.Software"); }參考資料:
總結
以上是生活随笔為你收集整理的Qt中的QMainWindow的全部內容,希望文章能夠幫你解決所遇到的問題。