Qt學習之路2---窗口組件及窗口類型


窗口組件:

圖形用戶界面由不同的窗口和窗口組件構成;

Qt以組件對象的方式,構建圖形用戶界面。

組件的類型包括:

---容器類(父組件):用於包含其他的界面組件

---功能類(子組件):用於實現特定的交互功能

Qt中沒有用父組件的頂級組件叫做窗口。

 

Qwidget 繼承自QObject和QPaintDevice

-Qwidget 能夠繪制自己和處理用戶的輸入,也是Qt中所以窗口組件類的父類

-Qwidget類對象作為父組件或頂級組件使用

-Qt中的每一個窗口組件都是Qwidget

-Qwidget 是所有窗口組件的抽象

 

QLabel組件-QLabel 用於顯示提示性的字符串

-QLabel 是功能性組件,一般需要父組件作為容器

-QLabel 可以作為窗口存在,但沒有實際意義

 

Qt中可以根據需要定制窗口式樣

-窗口類型 

.Qt::Dialog---對話框類型

.Qt::Window---主窗口類型

.Qt::SplashSctrrn---啟動畫面類型

。。。

-窗口標志

.Qt::WindowStaysOnTopHint

.Qt::WindowContexHelpButtonHint

。。。

編程實戰:

新建Qwidget工程如下圖:

參考代碼:

 1 /*main.cpp*/
 2 
 3 #include "widget.h"
 4 #include <QApplication>
 5 
 6 int main(int argc, char *argv[])
 7 {
 8     QApplication a(argc, argv);
 9     Widget w;
10     w.setWindowTitle("我是繼承自Qwidget的Widget");
11     w.show();
12 
13     return a.exec();
14 }
 1 /*widget.cpp*/
 2 
 3 #include<QLabel>
 4 #include "widget.h"
 5 
 6 Widget::Widget(QWidget *parent)
 7     : QWidget(parent)
 8 {
 9     m_label =new QLabel(this);
10     m_label->setText("我是一個標簽");
11 }
12 
13 Widget::~Widget()
14 {
15 
16 }

 

 1 /*widget.h*/
 2 
 3 #ifndef WIDGET_H
 4 #define WIDGET_H
 5 
 6 #include <QWidget>
 7 class QLabel;
 8 class Widget : public QWidget
 9 {
10     Q_OBJECT
11 private:
12     QLabel *m_label;
13 public:
14     Widget(QWidget *parent = 0);
15     ~Widget();
16 };
17 
18 #endif // WIDGET_H

效果圖:

NOTE:

你可能現在會有很多疑問,但慢慢看下去,你的疑問就會慢慢被解決。O(∩_∩)O

Best Practices:

Qt中的幫助文檔是你的第一手資料,它也是你遇到問題首先應該去查詢的。但這也要求我們需要具備一定的英語閱讀能力,剛開始吃力,堅持幾個月就好,至少我是這樣過來的,遇到不會的單詞,只查詞比你整句copy到翻譯軟件更能提高你的英語閱讀水平。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM