【QT實驗分析記錄】 窗口部件及窗口類型

【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用於顯示一個提示性的字符串

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章