c++ - 如何使我的 C++ 代码与 QT 按钮一起工作并打印到 QlineEdit?

标签 c++ qt

如果其中任何内容不够详细或没有意义,我很抱歉,我今天早上 5 点 30 分才起床,试图让它发挥作用。我试过使用字符串数组,将我的字符串声明为 QString,并将我的字符串转换为 QString。我有一个 C++ 代码,我将在我的问题末尾发布它,它从数组中打印一个随机字符串,然后询问这是否是想要的,如果是,它将退出循环,我想将该代码合并到 QT 应用程序中一个按钮将运行代码并将结果打印到 lineEdit(它不一定是 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);
 }

关于c++ - 如何使我的 C++ 代码与 QT 按钮一起工作并打印到 QlineEdit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48452229/

相关文章:

c++ - 关于 C++ 中内存排序的示例

c++ - C++ 20中协程的机制是什么?

c++ - 如果从未调用函数,编译器会在创建程序时忽略它吗?

qt - 带有信号参数和额外参数的 QSignalMapper

c++ - QObject 中不可访问的转换

c++ - Cygwin 上未显示 SDL 窗口

c++ - 使用 dynamic_pointer_cast 时无法动态转换

python - ActiveX 对象的 PyQt5 包装器而不是 WX 包装器

c++ - qt5从mysql数据库中选择数据

qt - QWidget::save/restoreGeometry 如果最大化会丢失窗口大小 - 错误或功能?