zoukankan      html  css  js  c++  java
  • 四则运算GUI设计2.0

    使用QT设计的界面如下:

    程序流程是点击开始出题,会在题目后面的框中显示所出的题目,在输入答案以后点击提交答案会判断输入的答案是否正确。

    输入后的界面:

    部分代码如下:

    qtyunsuan.h文件:

    class Qtyunsuan : public QMainWindow
    
    {
    
        Q_OBJECT
    
     
    
    public:
    
        Qtyunsuan(QWidget *parent = 0);
    
        ~Qtyunsuan();
    
     
    
        private slots:
    
        int OnShowQue();
    
        private slots:
    
        int OnGetAns();
    
        private slots:
    
        int OnReturnPressed();
    
     
    
    private:
    
        QString qss;
    
     
    
        Ui::QtyunsuanClass ui;
    
    };
    View Code

    主要是定义了三个槽,用于与相应的事件连接。OnShowQue()用来显示题目;OnGetAns()用来获取输入的答案并且判断对错;OnReturnPressed()是输入答案后不点击提交答案按钮而是按回车键也可以处理输入的答案;

    qtyunsuan.cpp文件:

    Qtyunsuan::Qtyunsuan(QWidget *parent)
    
        : QMainWindow(parent)
    
    {
        ui.setupUi(this);
        connect(ui.Btnstart, SIGNAL(clicked()), this, SLOT(OnShowQue()));//开始出题按钮按下,显示一道题目
        connect(ui.Btnover, SIGNAL(clicked()), this, SLOT(OnGetAns()));//提交答案按钮按下,获取输入的答案,显示是否正确
        connect(ui.Editanswer, SIGNAL(returnPressed()), this, SLOT(OnReturnPressed()));//输入答案后按回车键,显示是否正确
    }
    
     Qtyunsuan::~Qtyunsuan()
    
    {
    
    }
    
    int Qtyunsuan::OnShowQue() { qss = abc(); ui.Editquestion->setText(qss); ui.Editanswer->setText(""); return 0; } int Qtyunsuan::OnGetAns() { QString str1=ui.Editanswer->text();//获取用户输入的答案 string ans; ans = str1.toStdString();//将用户输入的Qstring类型答案转换成string类型 double answer= stringToNum<double>(ans);//将答案由string类型转换成double double answer1 = Calculate(expression); if (abs(answer1 - answer) < 0.1) { QMessageBox::information(this, "Right", "You are right"); } else { QMessageBox::information(this, "Wrong", "You are wrong"); } return 0; } int Qtyunsuan::OnReturnPressed() {
    OnGetAns(); return 0; }

      上面是三个connect函数,用于连接事件和槽。下面是具体的三个函数。

  • 相关阅读:
    Codeforces 1485C Floor and Mod (枚举)
    CodeForces 1195D Submarine in the Rybinsk Sea (算贡献)
    CodeForces 1195C Basketball Exercise (线性DP)
    2021年初寒假训练第24场 B. 庆功会(搜索)
    任务分配(dp)
    开发工具的异常现象
    Telink MESH SDK 如何使用PWM
    Telink BLE MESH PWM波的小结
    [LeetCode] 1586. Binary Search Tree Iterator II
    [LeetCode] 1288. Remove Covered Intervals
  • 原文地址:https://www.cnblogs.com/brilliant2016/p/5983080.html
Copyright © 2011-2022 走看看