Qt中对main.cpp的代码解释
生活随笔
收集整理的這篇文章主要介紹了
Qt中对main.cpp的代码解释
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#include "mywidget.h"
#include <QApplication> // 包含一個應(yīng)用程序類的頭文件// main程序入口,argc命令行變量的數(shù)量,argv命令行變量的數(shù)組
int main(int argc, char *argv[])
{// a應(yīng)用程序?qū)ο?#xff0c;在qt中,應(yīng)用程序?qū)ο笥星覂H有1個QApplication a(argc, argv);// 窗口對象,父類為QWidgetmyWidget w;// 窗口對象默認不會顯示,必須調(diào)用show方法w.show();// 讓a進入消息循環(huán),不會一閃而過,讓代碼阻塞到這行return a.exec();
}
QT += core gui
// Qt包含的模塊
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
// 大于4版本以上包含widget模塊
TARGET = qt2
// 目標 生成的.exe程序的名稱
TEMPLATE = app
// 應(yīng)用程序模板
SOURCES += \main.cpp \mywidget.cpp// 源文件
HEADERS += \mywidget.h// 頭文件
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
// 包含頭文件QWidget 窗口類
class myWidget : public QWidget
{Q_OBJECT// 宏,允許類中使用信號與槽機制
public:myWidget(QWidget *parent = 0);// 帶參數(shù)的構(gòu)造函數(shù)~myWidget();// 析構(gòu)函數(shù)
};
#endif // MYWIDGET_H
命名規(guī)范
類名:首字母大寫,單詞和單詞之間首字母大寫
函數(shù)名/變量名:首字母小寫,單詞和單詞之間首字母大寫快捷鍵
注釋:ctrl+/
運行:ctrl+run
編譯:ctrl+build
查找:ctrl+find
整行移動:ctrl+shift+↑/↓
幫助文檔:
(1)F1
(2)左側(cè)圖標
(3)assistant
F1全屏
Esc退出全屏
Esc退出幫助文檔
自動對齊:ctrl+i
同名之間的.h和.cpp的切換:F4
創(chuàng)建第一個按鈕
QPushButton *btn = new QPushButton();
// btn->show();
// show是以頂層的方式彈出窗口控件
// 讓btn對象依賴在mywidget窗口中
btn->setParent(this); //設(shè)置到對象樹中
// 顯示文本
btn->setText("XXX");創(chuàng)建第二個按鈕:按照控件大小創(chuàng)建窗口
QPushButton *btn = new QPushButton(“XXX”,this);
// 重置窗口大小
resize(600,400);
// 移動第二個按鈕
btn->move(100,100);
//設(shè)置窗口標題
setWindowTitle("First");
// 設(shè)置固定窗口大小
setFixedSize(600,400);
打印和釋放的順序是不一樣的
對象樹:當創(chuàng)建的對象在堆區(qū)的時候,如果指定的父親是QObject派生下來的類或者QObject子類派生下來的類,可以不用管理釋放的操作,對象會放入到對象樹當中,在一定程度上簡化了內(nèi)存回收機制
自定義信號
寫到signal下
返回值是void,只需要聲明,不需要實現(xiàn)
可以有參數(shù)
可以重載槽函數(shù)
早期必須寫到public slots下
高級的版本可以寫到public或者全局下
返回值為void,需要聲明,也需要實現(xiàn)
可以有參數(shù),可以發(fā)生重載
拓展
信號可以連接信號
一個信號可以連接多個槽函數(shù)
多個信號可以連接一個槽函數(shù)
信號與槽函數(shù)的參數(shù)必須類型一一對應(yīng)
信號參數(shù)個數(shù)可以多于槽函數(shù)的參數(shù)個數(shù)
Qt4版本以前的連接
使用SIGNAL()以及SLOT
優(yōu)點:參數(shù)直觀
缺點:參數(shù)類型不做檢測
Qt5以上支持Qt4版本的寫法,反之不支持
Lambda
Qt4:
CONGIG+=C++11
總結(jié)
以上是生活随笔為你收集整理的Qt中对main.cpp的代码解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript权威指南--客户端存
- 下一篇: BZOJ3626 LNOI2014 LC