QT使用以及定时器

qt数据类型
数值类型
QString字符串
QByteArray字符组类

//把QString转换成char 
//expression是QString类型
char opt[128] = {0};
QByteArray ba;
ba.append(expression);   //把QString转换成QByteArray
strcpy(opt, ba.data());  //data可以把QByteArray转换成const char 

目录:
在这里插入图片描述

创建函数以及引用库时要在widget.h中的private slots:中声明

int     Widget::Priority(char ch)
输出类型			函数名     传入值
{
    switch(ch)
    {
        case '(':
            return 3;
        case '*':
        case '/':
            return 2;
        case '+':
        case '-':
            return 1;
        default:
            return 0;
    }
}

connect用于对某些不能使用

信号的发起者btn1, 发出信号 主窗口this, 实现 关闭(槽函数)
connect(btn1,&QPushButton::clicked,this,&QWidget::close);

定时器 都是设置好一个时间开始倒数
第一种:QTimer
.h中定义好

#include <QTimer>
#define TIMEOUT    1 * 1000
QTimer *timer;

widget.cpp

//new一个对象
timer = new QTimer;
//定时器时间到,发出timeout信号,运行timeoutSlot函数
connect(timer, &QTimer::timeout, this, &Widget::timeoutSlot);
//开始倒计时,可以通过
timer->start(TIMEOUT);
//停止timer
timer->stop();
//一秒钟运行一次自定义timeoutSlot函数
QTimer::singleShot(1000, this, SLOT(timeoutSlot()));

第二种:QObject
.h中定义好

public:
    explicit Widget(QWidget *parent = 0);
    virtual void timerEvent(QTimerEvent *event);
    ~Widget();

widget.cpp

//开启定时器,返回定时器编号,时间到了
myTimerId = this->startTimer(TIMEOUT);
//自动运行下面的根据id函数
void Widget::timerEvent(QTimerEvent *event)
{
    if (event->timerId() != myTimerId)
        return;
        //写代码
}
//杀掉killTimer的id
this->killTimer(myTimerId);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值