Qt基础知识-创建Qt程序,Qt Creater常用快捷键,创建组件,对象树

    技术2024-01-08  99

    1.简介

    Qt是一个跨平台的图形引擎,1991年由奇趣科技开发。 优点:跨平台、接口简单易于上手、一定程度上简化了垃圾回收机制。

     2.创建Qt程序

     名称:不能有空格,不能有中文  路径:不能有中文  创建cpp文件时选择继承的3个类:Qwidget,QMainWindow,QDialog  QWidget:空窗口  QMainWindow:带有工具栏和状态栏,继承自QWedget  QDialog:对话框(有选择按钮),继承自QWidget    main函数

    #include "mywidget.h" #include <QApplication> //包含一个应用程序类的头文件 //main函数入口 argc 命令行变量的数量 argv命令行变量数组 int main(int argc, char *argv[]) { //应用程序对象,在Qt中,有且仅有一个 QApplication a(argc, argv); //窗口对象 继承自Widget myWidget w; //显示窗口对象,默认不显示 w.show(); //让程序进入消息循环,让代码阻塞到这一行 return a.exec(); }

    .pro工程文件

    QT += core gui //Qt中包含的模块 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于4以上的版本包含widget模块 TARGET = qt_demo01 //目标,生成.exe程序的名称 TEMPLATE = app //应用程序模板 Application DEFINES += QT_DEPRECATED_WARNINGS CONFIG += c++11 //添加对C++ 11的支持 SOURCES += \ main.cpp \ mywidget.cpp //源文件 HEADERS += \ mywidget.h //头文件

    3.Qt Creater常用快捷键:

    注释:Ctrl + / 运行:Ctrl + r 编译:Ctrl + b 字体缩放: Ctrl + 鼠标滚轮 查找:Ctrl + f 整行移动:Ctrl + shift + ↑ 或 ↓ 自动对齐:Ctrl + i 同名.cpp和.h文件之间切换 :Fn + F4

    帮助文档 方式1:Fn + F1  方式2:左侧按钮  方式3:D:\Software\Qt5.12.0\5.12.0\mingw73_64\bin\assistant.exe

    4.组件常用创建和常用函数

    myWidget::myWidget(QWidget *parent) : QWidget(parent) //调用父类构造函数 { //创建一个按钮 QPushButton *btn = new QPushButton; //btn->show(); //以顶层方式弹出窗口控件 //让btn依赖在myWidget窗口中 btn->setParent(this); //this指当前窗口 btn->setText("第一个按钮"); //创建第二个按钮 ->默认按照控件大小创建窗口 QPushButton *btn2 = new QPushButton("第二个按钮",this); //重置窗口大小 this->resize(300,300); //重置按钮大小 btn2->resize(80,50); //移动btn2按钮,以左上角为原点移动到(100,100)位置 btn2->move(100,100); //设置窗口标题 this->setWindowTitle("我的窗口"); //设置固定窗口大小->窗口大小不可调整 this->setFixedSize(600,400); //创建自定义按钮 mypushbuttom *btn3 = new mypushbuttom; btn3->setText("自定义的按钮"); btn3->move(150,150); //设置父亲,btn3被放进对象树,父类窗口关闭,子类从下往上自动被释放 btn3->setParent(this); }

    5.对象树

    在Qt中创建对象的时候会提供一个Parent对象指针,QObject是以对象树的形式组织起来的。当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是parent,也就是父对象指针。这相当于,在创建QObject对象时,可以提供一个其父对象,我们创建的这个QObject对象会自动添加到其父对象的children()列表。当父对象析构的时候,这个列表中的所有对象也会被析构。这种机制在GUI程序设计中相当有用。例如,一个按钮有一个QShortcut(快捷键)对象作为其子对象。当我们删除按钮的时候,这个按钮对应的快捷键应被删除。

    6.坐标系

    左上角为(0,0),x以右为正方向,y以下为正方向。

    Processed: 0.013, SQL: 10