【QT】创建第一个QT程序

该博客主要介绍Qt开发相关知识,包括创建Qt程序、坐标体系、内存回收机制、信号和槽等基础内容,还提及lambda表达式的使用。此外,说明了QWidget、QDialog、QMainWindow可作为顶层窗口,以及Firstproject.pro文件中模块的添加方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面的前7个可以先不看,直接从8开始看

1. 创建Qt程序:

  1. 一个Qt程序的组成部分:应用程序类,窗口类
  2. 应用程序类个数:有且只有一个QApplication a;
  3. 如何查看类对应的模块:光标移动到类上,按F1
  4. qmake+=模块的名字

2. 第一个Qt程序:

  1. 在窗口中添加按钮类名:QPushButton
  2. 设置按钮显示的内容:setText
  3. 移动按钮位置:move
  4. 按钮设置父窗口:setParent
  5. 设置窗口的大小:resize() resizeFixed()

3. Qt的坐标体系:

  1. 坐标原点:左上角
  2. x轴延伸的方向:向右递增
  3. y轴延伸的方向:向下递增

4. Qt内存回收机制:

满足什么条件的类不需要用户手动释放内存?

  1. 从QObject类直接或间接派生
  2. 给直接或间接派生出的类,指定父对象

5.信号和槽:

  1. 格式:connect(信号发出者对象(指针),&className::clicked,信号接收者对象(指针),&classB:slot);

标准信号槽的使用:

  • 自定义槽函数
  1. void
  2. 可以重载
  3. 需要跟信号对象,个数<=信号的参数个数
  • 自定义信号
  1. void
  2. 可以重载
  3. 需要使用-个关键字声明:signals
  4. 不需要函数定义

6. 拓展:

  1. 信号可以连接信号(参数的对应)
  2. 一个信号可连接多个槽函数
  3. 多个信号可连接同一个槽函数
  4. 槽函数可以使用1 ambda表达式

7. lambda表达式:

=
{
}
在.pro添加一次CONFIG+=c++11

8. 下面三种均可以作为顶层窗口

  • QWidget: 所有窗口类的父类。
  • QDialog :顶层窗口(第一个打开的窗口,对话框窗口) ,只有一个关闭按钮。其他的窗口有最大化最小化
  • QMainWindow:菜单栏,工具栏,状态栏
    控件:窗口类(都是从QWidget派生的)
    在这里插入图片描述
#include "mywidget.h"   //添加的窗口类,
                            //在qt中类名和头文件名相同
#include <QApplication>     //应用程序类:比如创建好的窗口的拖动,放大缩小等

int main(int argc, char *argv[])
{
    //应用程序类,在每一个qt程序中有且仅有一个
    QApplication a(argc, argv);
    //窗口类,创建出来之后默认不显示
    MyWidget w;  //如果要对 窗口操作,就必须对 w进行操作
    //显示窗口
    w.show();
     
     //(里面就是一个死循环,收到某一个信号就会结束(跳出循环),结束对窗口的监听)
    return a.exec();//走到后台进行了一个消息
}

MyWidget w; //如果要对 下面的窗口(顶层窗口)操作,就必须对 w进行操作

在这里插入图片描述

当用到什么模块,就加入到Firstproject.pro的文件中,如图使用到了core,gui就加进去

在这里插入图片描述

如何知道当前类要用到哪些模块?

在这里插入图片描述

按两次Esc即可退出。

关于Firstproject.pro的介绍

#qt程序用到的模块
QT       += core gui
#兼容以前的版本,5.0以上可以不用加,如果是5.0以下没有Qwidget
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

#生成的应用程序的名字
TARGET = Firstproject
#指定生成的makefile的类型lib
TEMPLATE = app

CONFIG += c++11
# 源文件 \换行就加\
SOURCES += \
        main.cpp \
        mywidget.cpp

HEADERS += \
        mywidget.h

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值