使用QInputDialog将多个值读入变量

用户名

我必须编写一个小的QT程序,该程序读取以逗号分隔的3个标记百分比,然后对这些标记进行一些进一步的计算...我必须使用QInputDialog来执行此操作,但似乎只能在以下位置读取一个值一个时间。

在此阶段,我仅尝试阅读并显示三个标记。当我运行此代码时,QTCreator停止工作,我必须在任务管理器中结束该过程。我将如何解决这个问题的任何想法将不胜感激。我应该读一个字符串,然后将其转换为双精度值,还是有一种更简单的方法?

提前致谢。

代码:

#include <QTGui>
#include <QApplication>
#include <QString>
#include <QTextStream>


int main(int argc, char *argv[]) 
{
    QApplication app(argc, argv);
    QTextStream cin(stdin, QIODevice::ReadOnly);
    QTextStream cout(stdout, QIODevice::WriteOnly);
    double mark1, mark2, mark3;
    double passMarkNeeded = 0;
    QInputDialog::getDouble(0, "Enter marks", "Marks", 1);
    cin >> mark1 >> mark2 >> mark3;
    cout << "User entered " << mark1 << mark2 << mark3;
    return EXIT_SUCCESS;
}
帕维尔·斯特拉霍夫(Pavel Strakhov)

显然您不能使用,QInputDialog::getDouble因为它不允许您输入3个值,并用逗号分隔。您应该使用QInputDialog::getTextQString::splitQString::toDouble

QStringList list = QInputDialog::getText(0, "Input values", "Input values:").split(",");
if (list.count() == 3) {
  double a = list[0].toDouble(),
         b = list[1].toDouble(),
         c = list[2].toDouble();
  qDebug() << "Values:" << a << b << c;

}

我不确定为什么要使用QInputDialog标准输入(cin)。QInputDialog适用于GUI应用程序,适用于cin控制台应用程序。以这种方式一起使用它们是奇怪且毫无意义的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将JSON多个值读入Bash变量-无法使用任何第三方工具(如jq等)

来自分类Dev

将CSV文件中的值读入变量

来自分类Dev

将多个txt文件中的行读入变量

来自分类Dev

C:将多个区域读入数组并找到最大值

来自分类Dev

将值读入数组

来自分类Dev

使用将文件读入变量,然后传递删除呼叫

来自分类Dev

使用Docker Compose将JSON文件读入环境变量

来自分类Dev

如何使用“期望”将文件的内容读入变量?

来自分类Dev

使用管道将多个文件读入单个列表

来自分类Dev

“使用严格”:将值分配给多个变量

来自分类Dev

使用多个值配置变量

来自分类Dev

将字符串变量读入变量

来自分类Dev

重击:读入多个局部范围变量

来自分类Dev

如何将SQL查询中的值读入Shell脚本中的变量?

来自分类Dev

将多个值数组化为变量

来自分类Dev

将指针变量设置为多个值

来自分类Dev

将pyodbc查询结果读入变量

来自分类Dev

将变量名称读入列表

来自分类Dev

将文件中的列读入单独的变量

来自分类Dev

将多个词典读入嵌套列表

来自分类Dev

ubuntu 14.04 bash脚本权限错误,使用$()将文件读入变量

来自分类Dev

如何使用define将Racket的多个返回值绑定到全局变量名称?

来自分类Dev

使用VBA将OLEDB连接中的多个命令文本变量替换为单元格值

来自分类Dev

使用VBA将OLEDB连接中的多个命令文本变量替换为单元格值

来自分类Dev

如何在命令行中使用条形将值分配给多个变量

来自分类Dev

如何使用define将Racket的多个返回值绑定到全局变量名称?

来自分类Dev

使用Excel数据透视表或Power Pivot将多个变量转换为值

来自分类Dev

多个变量对不同的ID使用相同的值

来自分类Dev

将引导多选值的值拆分为多个变量

Related 相关文章

  1. 1

    将JSON多个值读入Bash变量-无法使用任何第三方工具(如jq等)

  2. 2

    将CSV文件中的值读入变量

  3. 3

    将多个txt文件中的行读入变量

  4. 4

    C:将多个区域读入数组并找到最大值

  5. 5

    将值读入数组

  6. 6

    使用将文件读入变量,然后传递删除呼叫

  7. 7

    使用Docker Compose将JSON文件读入环境变量

  8. 8

    如何使用“期望”将文件的内容读入变量?

  9. 9

    使用管道将多个文件读入单个列表

  10. 10

    “使用严格”:将值分配给多个变量

  11. 11

    使用多个值配置变量

  12. 12

    将字符串变量读入变量

  13. 13

    重击:读入多个局部范围变量

  14. 14

    如何将SQL查询中的值读入Shell脚本中的变量?

  15. 15

    将多个值数组化为变量

  16. 16

    将指针变量设置为多个值

  17. 17

    将pyodbc查询结果读入变量

  18. 18

    将变量名称读入列表

  19. 19

    将文件中的列读入单独的变量

  20. 20

    将多个词典读入嵌套列表

  21. 21

    ubuntu 14.04 bash脚本权限错误,使用$()将文件读入变量

  22. 22

    如何使用define将Racket的多个返回值绑定到全局变量名称?

  23. 23

    使用VBA将OLEDB连接中的多个命令文本变量替换为单元格值

  24. 24

    使用VBA将OLEDB连接中的多个命令文本变量替换为单元格值

  25. 25

    如何在命令行中使用条形将值分配给多个变量

  26. 26

    如何使用define将Racket的多个返回值绑定到全局变量名称?

  27. 27

    使用Excel数据透视表或Power Pivot将多个变量转换为值

  28. 28

    多个变量对不同的ID使用相同的值

  29. 29

    将引导多选值的值拆分为多个变量

热门标签

归档