QT 简单的计算器例子
开发工具:vs2010、qt5.1
1使用vs新建工程,Base Class 选择QDialog
注意:项目的路径最好是英文的,中文可能会报错。
2新建项目后双击打开“hello.ui”文件,摆放控件(和vs摆放控件一样),摆放完成后直接保存退出。
3.双击打开“hello.h”文件,往里面添加代码
#ifndef HELLO_H #define HELLO_H #include <QtWidgets/QDialog> #include "ui_hello.h" class Hello : public QDialog { Q_OBJECT public: Hello(QWidget *parent = 0); ~Hello(); signals: public slots: void btnOK(); void btnAdd(); private: Ui::HelloClass ui; }; #endif // HELLO_H
4.打开“hello.cpp”文件,添加代码
#include "hello.h" #include <qthread.h> #include <QVariant> #include <qstring.h> Hello::Hello(QWidget *parent) : QDialog(parent) { ui.setupUi(this); ui.leResult->setEnabled(false); connect(ui.pbOK,SIGNAL(clicked()),this,SLOT(btnAdd())); connect(ui.pbExit,SIGNAL(clicked()),this,SLOT(close())); } Hello::~Hello() { } void Hello::btnOK() { ui.pbOK->setText("Cancel"); QThread::sleep(2); connect(ui.pbOK,SIGNAL(clicked()),this,SLOT(close())); } void Hello::btnAdd() { QString num1 = ui.leNum1->text(); QString num2 = ui.leNum2->text(); double result; switch(ui.cbOper->currentIndex()) { case 0: result = num1.toDouble() + num2.toDouble(); break; case 1: result =num1.toDouble() - num2.toDouble(); break; case 2: result = num1.toDouble() * num2.toDouble(); break; case 3: result = num1.toDouble() / num2.toDouble(); break; } ui.leResult->setText(QString::number(result)); }
posted on 2013-10-30 14:54 lovezj9012 阅读(458) 评论(0) 收藏 举报
浙公网安备 33010602011771号