找回密码
 立即注册
收起左侧

Qlabel 实时显示变量更新

5
回复
239
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2021-3-31 20:42:33 显示全部楼层 |阅读模式
3Qter豆
我试验了一段代码,打算通过pushbutton改变变量的办法更新Qlabel中指定的数位,但是变量改变了(或许其实没改变),结果label里的变量显示没有变化,请问这是为什么?

ifndef MAINWINDOW_H

define MAINWINDOW_H

include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
int a=0;
int b=0;
int c=0;

private slots:
void on_pushButton_clicked();

private:
Ui::MainWindow *ui;
};

endif // MAINWINDOW_H



include "mainwindow.h"

include "ui_mainwindow.h"

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

ui->label->setText(QString::number(a).append(QString::number(b)).append(QString::number(c)));

}

MainWindow::~MainWindow()
{
delete ui;
}

void MainWindow::on_pushButton_clicked()
{
a=1;
}

回复

使用道具 举报

累计签到:372 天
连续签到:3 天
2021-4-1 16:39:22 显示全部楼层
你要添加     ui->lable->setText(你要显示的变量);   你函数内只是给变量赋了个值
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2021-4-1 20:55:21 显示全部楼层
驲屋安阮 发表于 2021-4-1 16:39
你要添加     ui->lable->setText(你要显示的变量);   你函数内只是给变量赋了个值 ...

那如果变量前面还有很长的文本呢》那岂不是连前面的文本也要全部重写?
还有就是如果一个label里有好几个变量,难道说改一个变量其它的也要一起改》
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2021-4-1 20:56:28 显示全部楼层
驲屋安阮 发表于 2021-4-1 16:39
你要添加     ui->lable->setText(你要显示的变量);   你函数内只是给变量赋了个值 ...

目前为止我尝试了用指针和static,结果label都不允许用
回复

使用道具 举报

累计签到:326 天
连续签到:1 天
2021-4-2 09:15:54 显示全部楼层
把ui->label->setText(QString::number(a).append(QString::number(b)).append(QString::number(c)));这句话,放在on_pushButton_clicked()里面。也就是说,将其改为。void MainWindow:n_pushButton_clicked()
{
a=1;
ui->label->setText(QString::number(a).append(QString::number(b)).append(QString::number(c)));
}
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2021-4-2 13:36:21 显示全部楼层
cai901022 发表于 2021-4-2 09:15
把ui->label->setText(QString::number(a).append(QString::number(b)).append(QString::number(c)));这句 ...

我只想改其中一个数字,可你这是要全改啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册