前言
Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。
基本程序的认识
#pragma execution_character_set("utf-8") //编码为utf-8格式
#include "QtWidgetsApplication1.h"//用户自定义类
#include <QtWidgets/QApplication>//qt的应用程序类
int main(int argc, char *argv[])
{
QApplication a(argc, argv);//定义一个类成员
QtWidgetsApplication1 w;//定义一个用户自定义类 w
w.show(); //调用w对象的显示函数,将w显示在界面
return a.exec(); //返回一个阻塞函数,将函数阻塞在此,等待用户动作响应
}
比如我们添加一个按钮,就需要调用他的按键库
QPushButton b0;
b0.setParent (&w); //调用父类的拷贝构造函数
b0.setText("nihao"); //输入按钮的名称
b0.resize (50,20); //重新改变大小
b0.move (10,10);//改变按钮的位置
下来我们在来看一下他的父类对象有哪些接口
lass QtWidgetsApplication1 : public QMainWindow
{
Q_OBJECT
public:
QtWidgetsApplication1(QWidget *parent = Q_NULLPTR);
private:
Ui::QtWidgetsApplication1Class ui;
QPushButton b0;
};
其中Q_OBJECT为定义的宏
#define Q_OBJECT \
public: \
QT_WARNING_PUSH \
Q_OBJECT_NO_OVERRIDE_WARNING \
static const QMetaObject staticMetaObject; \
virtual const QMetaObject *metaObject() const; \
virtual void *qt_metacast(const char *); \
virtual int qt_metacall(QMetaObject::Call, int, void **); \
QT_TR_FUNCTIONS \
private: \
Q_OBJECT_NO_ATTRIBUTES_WARNING \
Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); \
QT_WARNING_POP \
struct QPrivateSignal {}; \
QT_ANNOTATE_CLASS(qt_qobject, "")