3.事件触发
1.数据初始化
我们这个项目中只有两个数据需要处理,就是那两个数据标签。其中一个要设置为0,另一个则可设置为总目标60。
找到mainwindow.cpp文件里MainWindow::MainWindow(QWidget *parent)函数,这个是整个主窗口的构造函数,即在窗口打开时会进行加载初始化的函数。
我们在这个函数中添加对数据的初始化,将上面一个数据标签初始化为0,下面一个初始化为60。为了规范化,现在头文件下面的区域定义一个宏:
#define Target_article 60
向构造函数MainWindow中定义一个变量初始化为0:
QString TotalValueNow = "0";
然后进行初始化:
1.//设置Label初始值为0 ui->label_total->setText(TotalValueNow); //初始值为Target_article ui->label_difference->setText(QString::number(Target_article - TotalValueNow.toInt()));
2."+1"功能
单击+1按钮,右键转到槽
选择clicked()函数。
于是在mainwindow.cpp文件中会自动生成一个槽函数on_pushButton_add_clicked()。这个槽函数会在接收到点击信号后触发。于是我们可以在每次点击后对数据进行+1
void MainWindow::on_pushButton_add_clicked()
{
int clicked_ButtonValue = ui->label_total->text().toInt();//读取标签中的数据存到变量里
clicked_ButtonValue ++;//数据+1
ui->label_total->setText(QString::number(clicked_ButtonValue));//设置总数标签文本
ui->label_difference->setText(QString::number(Target_article - clicked_ButtonValue));//设置差值标签文本
}
3."清除"功能
同样找到点击槽函数,写入清零功能,同时差值也要恢复到60。
void MainWindow::on_pushButton_clicked()
{
ui->label_total->setText(QString::number(0));
ui->label_difference->setText(QString::number(Target_article - 0));
}
基础功能完成,这是进行编译后,点击+1可以对上面的总数进行加一,点击清楚后又会恢复到原始状态。