您好,登錄后才能下訂單哦!
Qt Creator以工程項目的方式對源碼進行管理
A.一個Qt Creator工程包含不同類型的文件
.pro項目描述文件
.pro.user用戶配置文件
.h頭文件
.cpp源文件
.ui界面描述文件
資源文件-圖片、音頻等
B.pro項目描述文件的基本構成
C.pro項目描述文件中的高級變量
D.CONFIG用于設定項目的配置信息和編譯選項
CONFIG的常用選項
1.debug-構建debug版本的可執行程序
2.release--構建release版本的可執行程序
3.debug_and_release--一同構建debug版和release版
4.warn_on--盡可能多的輸出警告信息
5.warn_off-不能輸出警告信息
.pro文件的本質為Qt中的Makefile文件
.pro項目文件分析
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = HelloWorld
TEMPLATE = app
INCLUDEPATH += E:/BCC/include \
E:/VC/include
SOURCES += Main.cpp \
HelloWorld.cpp
HEADERS += HelloWorld.h
FORMS += HelloWorld.ui
RC_FILE += MyIco.rc
LIBS += -LE:/vlc-1.11/sdk/lib
CONFIG += warn_on debug
#
# if 'debug' option is set for CONFIG
#
CONFIG(debug) {
DEFINES += DEBUG_LOG
SOURCES += DebugLog.cpp
HEADERS += DebugLog.h
}
一般來說,項目文件中的描述都使用相對路勁,而相對路徑時相對于項目文件本身而言的,Qt Creator將項目文件作為目標
注意:1.Qt Creator在打開項目文件的同時會生成.pro.user文件
2..pro.user文件包含一些與Qt相關的本地配置信息
3.當需要在不同計算機之間移動項目源碼時,建議刪除.pro.user文件
E.工程中的概念
構建--對項目的所有文件進行編譯,最終生成可執行文件
debug--可以進行程序調式的構建版本,可執行程序中包含調試信息,運行效率不高
release版--最終發布的應用程序構建版本,無調試信息,運行效率高
小結
1.Qt Creator以工程項目的方式對源碼進行管理
2.一個Qt Creator工程包含不同類型的文件
3..pro文件是Qt中與平臺無關的Makefile文件
4.Qt Creator提供了開發所必備的快捷高效的功能
1.圖形用戶界面由不同的窗口和窗口組件構成
2.<QtGui>頭文件包含窗口組件,對應Qt的GUI模塊
3.Qt以組件對象的方式構建圖形用戶界面
4.組件的類型--a.容器類(父組件):用于包含其它的界面組件; b功能類(子組件):用于實現特定的交互功能
A.QWidget類繼承自QObject類和QPainDevice類
1.QObject是所有支持Qt對象模型的基類
2.QPainDevice是所有可繪制組件的基類
B.QWidget組件
1.QWidget能夠繪制自己和處理用戶的輸入
2.QWidget是Qt中所有窗口組件類的父親
3.QWidget是所有窗口組件的抽象
4.Qt中的每一個窗口組件都是一個QWidget
5.QWidget類對象常作為父組件或頂級組件使用
C.QLabel組件
1.QLabel用于顯示一個提示性的字符串
2.QLabel是功能性組件,一般需要父組件作為容器
3.QLabel可以作為窗口存在,但沒什么意義
QWidget組件和QLabel組件代碼示例
#include "Widget.h"
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QLabel la(&w);
w.setWindowTitle("dandanxiaohai");
la.setText("mylove");
w.show();
return a.exec();
}
運行結果
D.Q中可以根據需要定制窗口式樣
1.窗口類型--Qt::Dialog-對話框類型 ,Qt::window-主窗口類型,Qt::SplashScreen-啟動畫面類型,其它的類型可以在Qt幫助文檔中進行查找
2.窗口標志
Qt::WindowStaysOnTopHint ,Qt::WindowContextHelpButtonHint等
小結
1.Qt以組件對象的方式構建圖形用戶界面
2.QWidget類是所有用戶界面組件的父類
3.QWidget類對象常作為父組件或頂級組件使用
4.Qt中可以根據需要定制窗口式樣
5.QLabel用于顯示一個提示性的字符串
A.坐標系統
1.GUI操作系統都有特定的坐標系統
2.圖形界面程序在坐標系統中進行窗口和部件的定位
3.定位類型--頂級窗口部件定位、窗口內部件的定位、窗口部件大小設置
B.Qt坐標系統
1.Qt使用統一的坐標系統定位窗口部件的位置和大小
2.Qt部件類提供成員函數在坐標系統中進行定位
3.QWidget類提供了窗口部件所需的坐標系統成員函數
QWidget類中的坐標系統成員函數
編程實驗,代碼示例
#include "Mainwindow.h"
#include <QApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;//頂級組件
w.resize(300,200);//設置的大小
w.move(120,120);//設置的生成坐標位置
w.show();
qDebug()<<"QWidget:";
qDebug()<<w.x();
qDebug()<<w.y();
qDebug()<<w.height();
qDebug()<<w.width();
qDebug()<<"QWidget::geometry()";
qDebug()<<w.geometry().x();
qDebug()<<w.geometry().y();
qDebug()<<w.geometry().height();
qDebug()<<w.geometry().width();
qDebug()<<"QWidget::frameGeometry()";
qDebug()<<w.frameGeometry().x();
qDebug()<<w.frameGeometry().y();
qDebug()<<w.frameGeometry().height();
qDebug()<<w.frameGeometry().width();
return a.exec();
}
打印結果--在窗口顯示之后才會有坐標數據(須在show()調用之后),該打印結果與之前圖所示相符合
C.QPushButton組件
1.QPushButton用于接受用戶點擊事件
2.QPushButton能夠顯示提示性字符串
3.QPushButton是功能性組件,需要父類組件作為容器
4.QPushButton能夠在父類組件中進行定位
小結
1.Qt中的幾何坐標以左上角為原定--水平為x軸,從左向右為正向;垂直為y軸。從上到下為正向
2.Qt中的GUI組件以左上角進行定位
3.Qt中的GUI組件可以在坐標系統中進行大小設置
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。