Qt中cin / cout的替代品

时间:2018-06-25 20:12:13

标签: c++ qt

因此,我正在通过qt将我制作的控制台应用程序转换为gui应用程序。我已经弄清楚了信号/插槽以及转换所需的一切,输出除外。特别是输出文本和用户输入的变量的组合。因此,在控制台应用程序中,我可能会遇到诸如以下内容:

int main()
{
int x, y;
std::cin >> x >> y;
int z = x+y;
std::cout << "those numbers add to " << z << std::endl;
std::cout << "original nums: " << x << " " << y;
}

对于qt来说,假设Qlabel是最好的输出方法,我目前正在通过以下方法做到这一点:

int y = 10;
ui->labelOutput-> setText("hello i am " + QString::number(y));

但是我只是觉得可能有一个我没有使用的更好的选择。将字符串转换为数字似乎不是最好的方法。

也许这是最好的方法,在这种情况下,我只需要习惯一下即可。

编辑::另外,如果我想继续添加到文本标签,例如在cout的情况下,控制台行永远不会被覆盖,而只会被添加。我将如何实现?就像如果3个函数分别在何处添加输出,我如何确保将其全部显示?即

line 1: output from function 1
line 2: output from function 2
line 3: output from function 3

而不是

line 1: output from function 1

然后当功能2运行时

line 1: output from function 2

1 个答案:

答案 0 :(得分:1)

还有QString::arg()这样的格式:

ui->labelOutput-> setText(QString("hello i am %1").arg(y));