我有一个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);
...
}
答案 0 :(得分: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();
}