QT学习大法

1.软件下载

下载地址

https://blog.youkuaiyun.com/weixin_42214237/article/details/131997396
安装使用教程

2 新建工程

(1)
在这里插入图片描述

(2)选择分类

QMAINWINDOW

带菜单栏
在这里插入图片描述

QWIGET

不带菜单栏
在这里插入图片描述

QDIALOG

对话框

(3)选择工具库
在这里插入图片描述
(4)选择编译工具
qmake才会产生 .pro文件
在这里插入图片描述

3.信号与槽

打开槽函数:
(1)右键控件,转到槽
(2)连接函数

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

    //连接信号与槽:谁发出信号,什么信号,谁处理,怎么处理
    connect(ui->lineEdit,SIGNAL(returnPressed()),this,SLOT(on_commitButton_clicked()));




}

(3)第二种连接函数写法
取地址法

connect(ui->cancelButton,&QPushButton::clicked,this, &Widget::on_cancelButton_clicked);

(4)基于lamda的连接函数

connect(ui->browseButton,&QPushButton::clicked,[this]()
    {
   
        QMessageBox::information(this,"信息","点击浏览");
    });

4.使用子线程

(1) .h文件添加包
#include
(2)创建process对象,并根据进程名执行

//创建process对象
    QProcess *myProcess = new QProcess(this);
    myProcess->start(program);  //运行一个子进程,根据进程名

5 实战:计算器实现

使用栈,添加头文件

#include<QStack>

使用

QStack<char> stk;
stack.push('a');

6 定时器

(1)QObject: startTimer killTimer

xx.cpp

 myTimerid =this->startTimer(TIMEOUT);//开启定时器,返回当前定时器编号
this->killTimer(myTimerid);//关闭定时器
//定时器事件定义
void Widget::timerEvent(QTimerEvent *event)
{
   
    if(event->timerId()!=myTimerid){
   
        return;
    }
    xxx
}

xx.h

声明虚函数

 virtual void timerEvent(QTimerEvent *event);  //定时器结束时触发的事件虚函数

(2)QTimer:

xx.cpp

timer = new QTimer;  //初始化定时器
timer->start(TIMEOUT);  //开启定时器,参数为定时时长(ms)
timer->stop();//结束定时

触发函数

void Widget::timeoutSlot()
{
   
    xxx
}
//连接器:定时器时间结束信号与处理槽
connect(timer,&QTimer::timeout,this,&Widget
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值