如何让我的C++代码与QT按钮一起使用并打印到QlineEdit?

How to make my C++ code work with QT button and print to QlineEdit?

本文关键字:打印 QlineEdit 一起 按钮 我的 C++ 代码 QT      更新时间:2023-10-16

如果其中任何一个不够详细或没有意义,我很抱歉,我今天早上 5:30 才起床试图让它工作。我尝试使用字符串数组,将我的字符串声明为 QStrings,并将我的字符串转换为 QString。我有一个C++代码,我将在我的问题末尾发布,该代码从数组中打印一个随机字符串,然后询问这是否是想要的,如果是这样,它将退出循环,我想将该代码插入 QT 应用程序中,其中按钮将运行代码并将结果打印到 lineEdit(它不一定是一行编辑任何东西将显示文本)。我知道我必须摆脱循环,因为它是一个按钮,但我一生都无法弄清楚如何让它打印变量。任何帮助将不胜感激,如果我需要澄清任何事情,请告诉我,谢谢。

#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <string>
using namespace std;
int main()
{
string ans = "no";
string result;
int a;
string result;
string myarr[] = {"foo", "bar", "etc"};
do{
srand(time(0));
a = sizeof(myarr) / sizeof(myarr[0]);
result = myarr[rand() % a];
cout << result<<endl;
cout << "Will that work?";<<endl;
cin >> ans;
while(ans=="no");
cout << "Glad I could help."<<endl;
reurn 0;
}

索里,我试过了

void MainWindow::on_pushButton_clicked()
{
string ans = "no";
string result;
int a;
string result;
string myarr[] = {"foo", "bar", "etc"};
srand(time(0));
a = sizeof(myarr) / sizeof(myarr[0]);
result = myarr[rand() % a];
ui->lineEdit->setText(result);
}

我也尝试将结果声明为 QString 而不是字符串,以及我发现的将字符串转换为 QString 的帖子,但我不记得语法了。

您需要稍作修改。您的主要编译问题可能是重复声明result。除此之外,只需将所有string更改为QString.

void MainWindow::on_pushButton_clicked()
{
QString ans = "no";
QString result;
int a;
QString myarr[] = {"foo", "bar", "etc"};
srand(time(0));
a = sizeof(myarr) / sizeof(myarr[0]);
result = myarr[rand() % a];
ui->lineEdit->setText(result);
}