【QT實驗分析記錄】 窗口部件及窗口類型
作者 CodeAllen ,轉載請註明出處
圖形用戶界面由不同的窗口和組件構成
頭文件包含窗口組件,對應Qt中的GUI模塊
Qt以組件對象的方式構建圖形用戶界面
組件的類型
- 容器類(父組件):用於包含其他的界面組件
- 功能類(子組件):實現特定的交互功能
qt中沒有父組件的頂級組件叫做窗口(包含對話框)
窗口組件
窗口組件
**QWidget類(父類)**自繼承QObject類和QpaintDevice類
- QObject是所有支持QT對象模型的基類
- QpaintDevice是QT中國所有可繪製組件的基類
QWidget組件
能夠繪製自己和處理用戶的輸入
QWidget是QT中所有窗口組件類的父類
QWidget是所有窗口組件的抽象
QT中的每個窗口組件都是一個QWidget
QWidget類對象常作爲父組件或頂級組件使用
實驗:QWidget實驗
#include <QtGui/QApplication>
#include "Widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w; //沒有父組件,成爲對話框
w.setWindowTitle("CodeAllen"); //修改窗口名稱
w.show();
return a.exec();
}
QLabel組件
QLabel用於顯示一個提示性的字符串
QLabel是功能組件,一般需要父組件作爲容器
QLabel可以作爲窗口存在,但是沒有意義
實驗:QLabel測試
#include <QtGui/QApplication>
#include "Widget.h"
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w; //沒有父組件,成爲對話框
QLabel l(&w);
l.setText("Code Allen");
w.setWindowTitle("CodeAllen"); //修改窗口名稱
w.show();
return a.exec();
}
窗口類型
Qt中可以根絕需要定製窗口樣式
-窗口類型
Qt::Dialog 對話框類型
Qt::Window 主窗口類型
Qt::SplashScreen 啓動畫面類型
窗口標誌
Qt::WindowStaysOnTopHint
Qt::WindowContextHelpButtonHint
實驗:窗口類型和窗口標誌
#include <QtGui/QApplication>
#include "Widget.h"
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w(NULL, Qt::Window | Qt::WindowStaysOnTopHint); //沒有父組件,成爲對話框
QLabel l(&w);
l.setText("Code Allen");
w.setWindowTitle("CodeAllen"); //修改窗口名稱
w.resize(400, 300);
w.show();
return a.exec();
}
Qt::Dialog 對話框類型(沒有最大最小)
Qt::Window 主窗口類型
Qt::SplashScreen 啓動畫面類型(可以做歡迎界面)
小結
Qt以組件對象的方式構建圖形用戶界面
QWidget類是所有用戶界面組件的父類
QWidget類對象常作爲父組件或者頂級組件使用
Qt中可以根據需要定製窗口式樣
QLabel用於顯示一個提示性的字符串