【问题标题】:int input from lineEdit来自 lineEdit 的 int 输入
【发布时间】:2014-02-10 19:28:19
【问题描述】:

我是 qt 的新手,我想制作一个计算器,但为此我必须在 QLineEdit 中从用户那里获取数字,但它以字符串形式提供输入,所以我如何使用 lineedit 来获取用户的输入,或者我应该使用文本框。还有其他方法吗?

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    QString(您从输入字段中获取)有一个方法可以做到这一点,它是toInt()

    例子:

    QString num="123";
    int n = num.toInt();
    

    编辑: 如果您需要,这是虎钳:

    int num = 123;
    QString str= QString::number(num);
    

    【讨论】:

    • 如果用户输入像 123+455 这样的输入,它可以工作吗?如果是,结果会是什么?
    • 你可以试一试,虽然我猜它不会起作用。您必须将输入解析为两个数字并识别它们的功能(乘法、加法等),然后执行它。当我学习 Qt 时,我还做了一个计算器,您可以在其中输入 2 个字段中的数字,然后通过单击按钮选择功能。如果您将界面重新设计为类似的东西,则解析输入会容易得多。
    • @Bloodcount 没什么好猜的,整数解析不是表达式求值器 :) 如果传递“123+455”就不行了。
    【解决方案2】:

    确保用户只输入数字的最简单方法是肯定使用QSpinBox

    另一方面,如果您想坚持使用QLineEdit,您可能需要使用QLineEditQIntValidatorsetValidator 方法来只允许整数输入。

    【讨论】:

      猜你喜欢
      • 2011-12-22
      • 2013-04-20
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      相关资源
      最近更新 更多