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);