E-comon 发表于 2021-3-31 20:42:33

Qlabel 实时显示变量更新

我试验了一段代码,打算通过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;
}

驲屋安阮 发表于 2021-4-1 16:39:22

你要添加   ui->lable->setText(你要显示的变量);   你函数内只是给变量赋了个值

E-comon 发表于 2021-4-1 20:55:21

驲屋安阮 发表于 2021-4-1 16:39
你要添加   ui->lable->setText(你要显示的变量);   你函数内只是给变量赋了个值 ...

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

E-comon 发表于 2021-4-1 20:56:28

驲屋安阮 发表于 2021-4-1 16:39
你要添加   ui->lable->setText(你要显示的变量);   你函数内只是给变量赋了个值 ...

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

cai901022 发表于 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::on_pushButton_clicked()
{
a=1;
ui->label->setText(QString::number(a).append(QString::number(b)).append(QString::number(c)));
}

E-comon 发表于 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)));这句 ...

我只想改其中一个数字,可你这是要全改啊:(
页: [1]
查看完整版本: Qlabel 实时显示变量更新