Displaying Integers on QLabels?

你离开我真会死。 提交于 2019-11-27 06:29:15

问题


Basically i'm making a simple calculator program to understand the basics of C++ GUI however I get an error message leading to the line of code I have in the void MainWindow::addx() to label -> setText(c); with an error message of:

invalid user-defined conversion from 'int' to 'const QString&'[-fpermissive]

I really don't know what that error message means I assume it means I cant display an integer on a label. I just wanted to know if I am able to display an integer on my label or do I have to use a different widget.

class MainWindow() {
   int a, b, c;
   QLabel * label;
   ...
};

void MainWindow::addx()
    c = a + b;
    label -> setText(c);
}

回答1:


You have to convert it:

firstnumberx();
secondnumberx();
c = a+b;
label->setText(QString::number(c));



回答2:


This should work..

label -> setText(QString::number(c));

If you need to add multiple number inside some string you can try below..

label -> setText(QString("%1").arg(c));



回答3:


QLabel has setNum() methods taking int or double arguments:

label->setNum(c);

The setNum() methods format the supplied number and then set the text property with the formatted value. The documentation does not specify which locale is used for formatting, so you may wish to experiment.



来源:https://stackoverflow.com/questions/21218427/displaying-integers-on-qlabels

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!