0

我有一个QPushButton,这个按钮上有一个文本,这个文本是一个数字。在另一个对象的插槽中,我想更改按钮上显示的数字,但是当我打电话时

MyButton->setText(QString("%1").arg(Number));

或者

QString tmp;
tmp.setNum(Number);
MyButton->setText(tmp);

按钮上的文字不会改变。但是当我打电话时

MyButton->setText("some random text");

它工作正常。我如何更改按钮上显示的数字?

我的部分代码:

sortWindow::sortWindow(QWidget *parrent)
{
...
MyButton = new QPushButton;
QString tmp(QString("%1").arg(Number));
MyButton.setText(tmp);
...
}

void sortWindow::workOnSignal(int index)
{
...
if (something)
{
...
QString tmp;
tmp.setNum(Number);
MyButton->setText(tmp);
...
}
4

1 回答 1

1

的类型Number必须是int。所以它会正常工作。

#include <QApplication>
#include <QPushButton>

int main(int argc,char **argv)
{
    QApplication app(argc,argv);

    QPushButton *pd = new QPushButton;
    pd->setText(QString("%1").arg(1234));
    pd->show();

    return app.exec();
}
于 2013-08-08T14:03:22.590 回答