Qt:学习笔记一

 一、工程文件介绍

1.1 main.cpp 

#include "widget.h"
#include <QApplication> // 包含一个应用程序类的头文件
//argc:命令行变量的数量;argv:命令行变量的数组
int main(int argc, char *argv[])
{
    //a应用程序对象,在Qt中,应用程序对象有且仅有一个
    QApplication a(argc, argv);
    //窗口对象 Widget父类-》QWidget
    Widget w;
    //窗口对象 默认不会显示,必须调用show方法显示窗口
    w.show();
    //让应用程序对象进入消息循环,代码堵塞到当前行
    return a.exec();
}

1.2 project1.pro

QT       += core gui  //Qt包含的模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于4版本以上,包含widget模块

CONFIG += c++11   //配置中多加c++11

DEFINES += QT_DEPRECATED_WARNINGS

before Qt 6.0.0

SOURCES += \       //源文件
    main.cpp \
    widget.cpp

HEADERS += \      //头文件
    widget.h

FORMS += \
    widget.ui

1.3 widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT  //Q_OBJECT宏,允许类中使用信号和槽的机制
public:
    Widget(QWidget *parent = nullptr); //构造函数
    ~Widget();         //析构函数
private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

1.4 快捷键

1.注释: ctrl + /

2.运行: ctrl + r

3.编译: ctrl + b

4.查找: ctrl + f

5.整体移动: ctrl + shift + 向上箭头 或 向下箭头

6. 帮助文档: F1

7.自动对齐: ctrl + i


二、 常用操作

2.1 文档使用

2.2 常用操作 

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //创建一个按钮
    QPushButton* btn = new QPushButton;
    //btn->show(); //show以顶层方式弹出窗口控件
    //让btn对象 依赖在Widget窗口中
    btn->setParent(this);
    //重置按钮大小
    btn->resize(100,100);
    //显示文本
    btn->setText("第一个按钮");
    //重置窗口大小
    resize(600,400);
    //设置固定窗口大小
    setFixedSize(400,400);
    //移动btn按钮
    btn->move(200,200);
    //设置窗口标题
    setWindowTitle("第一个窗口");
}

2.3 调用析构函数 

Qt中关闭窗口会自动调用析构,从底层一步步向上析构 

当创建的对象在堆区时候,如果指定的父亲是 Qobiect派生下来的类或者Qobject可以不用管理释放的操作,将对象会放入到对象树中

2.4 坐标系


三、信号与槽 

3.1

参数一:信号的发送者

参数二:发送的信号(函数地址)

参数三:信号的接受者

参数四:处理槽函数(函数地址)

connect(btn, &QPushButton::clicked, this, &Widget::close);

Teacher.h
//自定义信号
signals:
    //自定义信号,写到signals下
    //返回值是void,只需要声明,不需要实现
    //可以有参数,可以重载
    void hungry();
Student.h
//自定义槽函数
public slots:
    //槽函数,可以写到public slots,也可以写到public全局下
    //返回值void,需要声明,也需要实现
    //可以有参数,可以发生重载
    void treat();
//emit,触发自定义信号
void Widget::classIsover()
{
    //下课函数,调用后,触发老师饿了的信号
    emit zt->hungry();
}

 3.2 自定义信号和槽函数出现重载

//Student.h
public slots:
    //槽函数,可以写到public slots,也可以写到public全局下
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值