如何用Qt编写一个支持长尾关键词输入的智能计算器程序?

2026-04-18 14:574阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计615个文字,预计阅读时间需要3分钟。

如何用Qt编写一个支持长尾关键词输入的智能计算器程序?

原文:本文字例为大师分享了Qt实现计算器功能的整体代码,供大家参考。具体内容如下:+ 计算器主要通过lineEdit获取和显示数字,通过tableView显示计算过程。

改写后:本例展示了Qt计算器功能的实现代码概要,主要包括:- 利用lineEdit获取和显示数字- 通过tableView展示计算过程

本文实例为大家分享了Qt实现计算器功能的具体代码,供大家参考,具体内容如下

该计算器主要通过lineEdit获取和显示数字,通过tableview显示计算过程。

通过tableview显示计算的过程,QLineEdit获取输入的数字,QComboBox实现不同的计算类型。

效果:

代码:

main.cpp

如何用Qt编写一个支持长尾关键词输入的智能计算器程序?

#pragma execution_character_set("utf-8") #include "mainwindow.h" #include <QApplication>   int main(int argc, char *argv[]) {     QApplication a(argc, argv);     MainWindow w;     w.setWindowTitle("计算器");     w.show();       return a.exec(); }

mainwindow.h

#ifndef MAINWINDOW_H #define MAINWINDOW_H   #include <QMainWindow> #include <QStandardItemModel>   namespace Ui { class MainWindow; }   class MainWindow : public QMainWindow {     Q_OBJECT   public:     explicit MainWindow(QWidget *parent = 0);     ~MainWindow();     int setCount();   private slots:     void on_btn_cal_clicked();   private:     Ui::MainWindow *ui;     QStandardItemModel *model; };   #endif // MAINWINDOW_H

mainwindow.cpp

#pragma execution_character_set("utf-8") #include "mainwindow.h" #include "ui_mainwindow.h"   #include <QDebug> #include <QMessageBox> #include <QStandardItem>   MainWindow::MainWindow(QWidget *parent) :     QMainWindow(parent),     ui(new Ui::MainWindow) {     ui->setupUi(this);       //初始化model     model=new QStandardItemModel();       //设置列标题     model->setHorizontalHeaderItem(0,new QStandardItem("数字A"));       model->setHorizontalHeaderItem(1,new QStandardItem("符号"));       model->setHorizontalHeaderItem(2,new QStandardItem("数字B"));       model->setHorizontalHeaderItem(3,new QStandardItem("结果"));       //将模型与视图绑定     ui->tableView->setModel(model);       //设置表格单元不能编辑     ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);       //设置列表宽度     for(int i=0;i<4;++i)     {         ui->tableView->setColumnWidth(i,50);     }   }   MainWindow::~MainWindow() {     delete ui; }   int MainWindow::setCount() {     int ret=0;       //获取lineEdit上的内容     QString num1=ui->num1->text();     if(num1.isEmpty())     {         return -1;     }       QString num2=ui->num2->text();     if(num2.isEmpty())     {         return -1;     }       QString symbol=ui->comboBox->currentText();       if(symbol == "+")     {         ret=num1.toInt()+num2.toInt();     }     else if(symbol == "-")     {         ret=num1.toInt()-num2.toInt();     }     else if(symbol == "*")     {         ret=num1.toInt()*num2.toInt();     }     else if(symbol == "/")     {         if(num2.toInt()==0)             return -2;         ret=num1.toInt()/num2.toInt();     }       return ret; }     //计算 void MainWindow::on_btn_cal_clicked() {     int result=setCount();     if(result==-1)     {       QMessageBox::warning(this,"提示","存在输入项为空!","确定");       ui->result->clear();       return;     }     else if(result==-2)     {         QMessageBox::warning(this,"提示","除数为0!","确定");         ui->result->clear();         return;     }       //绑定值到视图中     model->setItem(0,0,new QStandardItem(ui->num1->text()));     model->setItem(0,1,new QStandardItem(ui->comboBox->currentText()));     model->setItem(0,2,new QStandardItem(ui->num2->text()));     model->setItem(0,3,new QStandardItem(QString::number(result)));       //设置result需要显示的值     ui->result->setText(QString::number(result));   }

以上主要是强化tableview的使用,体会model的使用方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

本文共计615个文字,预计阅读时间需要3分钟。

如何用Qt编写一个支持长尾关键词输入的智能计算器程序?

原文:本文字例为大师分享了Qt实现计算器功能的整体代码,供大家参考。具体内容如下:+ 计算器主要通过lineEdit获取和显示数字,通过tableView显示计算过程。

改写后:本例展示了Qt计算器功能的实现代码概要,主要包括:- 利用lineEdit获取和显示数字- 通过tableView展示计算过程

本文实例为大家分享了Qt实现计算器功能的具体代码,供大家参考,具体内容如下

该计算器主要通过lineEdit获取和显示数字,通过tableview显示计算过程。

通过tableview显示计算的过程,QLineEdit获取输入的数字,QComboBox实现不同的计算类型。

效果:

代码:

main.cpp

如何用Qt编写一个支持长尾关键词输入的智能计算器程序?

#pragma execution_character_set("utf-8") #include "mainwindow.h" #include <QApplication>   int main(int argc, char *argv[]) {     QApplication a(argc, argv);     MainWindow w;     w.setWindowTitle("计算器");     w.show();       return a.exec(); }

mainwindow.h

#ifndef MAINWINDOW_H #define MAINWINDOW_H   #include <QMainWindow> #include <QStandardItemModel>   namespace Ui { class MainWindow; }   class MainWindow : public QMainWindow {     Q_OBJECT   public:     explicit MainWindow(QWidget *parent = 0);     ~MainWindow();     int setCount();   private slots:     void on_btn_cal_clicked();   private:     Ui::MainWindow *ui;     QStandardItemModel *model; };   #endif // MAINWINDOW_H

mainwindow.cpp

#pragma execution_character_set("utf-8") #include "mainwindow.h" #include "ui_mainwindow.h"   #include <QDebug> #include <QMessageBox> #include <QStandardItem>   MainWindow::MainWindow(QWidget *parent) :     QMainWindow(parent),     ui(new Ui::MainWindow) {     ui->setupUi(this);       //初始化model     model=new QStandardItemModel();       //设置列标题     model->setHorizontalHeaderItem(0,new QStandardItem("数字A"));       model->setHorizontalHeaderItem(1,new QStandardItem("符号"));       model->setHorizontalHeaderItem(2,new QStandardItem("数字B"));       model->setHorizontalHeaderItem(3,new QStandardItem("结果"));       //将模型与视图绑定     ui->tableView->setModel(model);       //设置表格单元不能编辑     ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);       //设置列表宽度     for(int i=0;i<4;++i)     {         ui->tableView->setColumnWidth(i,50);     }   }   MainWindow::~MainWindow() {     delete ui; }   int MainWindow::setCount() {     int ret=0;       //获取lineEdit上的内容     QString num1=ui->num1->text();     if(num1.isEmpty())     {         return -1;     }       QString num2=ui->num2->text();     if(num2.isEmpty())     {         return -1;     }       QString symbol=ui->comboBox->currentText();       if(symbol == "+")     {         ret=num1.toInt()+num2.toInt();     }     else if(symbol == "-")     {         ret=num1.toInt()-num2.toInt();     }     else if(symbol == "*")     {         ret=num1.toInt()*num2.toInt();     }     else if(symbol == "/")     {         if(num2.toInt()==0)             return -2;         ret=num1.toInt()/num2.toInt();     }       return ret; }     //计算 void MainWindow::on_btn_cal_clicked() {     int result=setCount();     if(result==-1)     {       QMessageBox::warning(this,"提示","存在输入项为空!","确定");       ui->result->clear();       return;     }     else if(result==-2)     {         QMessageBox::warning(this,"提示","除数为0!","确定");         ui->result->clear();         return;     }       //绑定值到视图中     model->setItem(0,0,new QStandardItem(ui->num1->text()));     model->setItem(0,1,new QStandardItem(ui->comboBox->currentText()));     model->setItem(0,2,new QStandardItem(ui->num2->text()));     model->setItem(0,3,new QStandardItem(QString::number(result)));       //设置result需要显示的值     ui->result->setText(QString::number(result));   }

以上主要是强化tableview的使用,体会model的使用方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。