QT QT练习一

界面中通过三个 QLineEdit控件,一个QPushButton实现+ - * /四则运算,点击pushbutton后将运算结果显示在QLabel控件上。
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QLabel>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
    ~Widget();
private:
    QLineEdit * edit1;
    QLineEdit * edit2;
    QLineEdit * edit3;
    QPushButton * btn1;
    QLabel *label1;
    double GetRes(int num1,char ch,int num2);
private slots:
    void add();
};

#endif // WIDGET_H
#include "widget.h"
#include <QGridLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    edit1=new QLineEdit(this);
    edit2=new QLineEdit(this);
    edit3=new QLineEdit(this);
    btn1=new QPushButton(this);
    btn1->setText("计算");
    label1=new QLabel(this);
    label1->setText("result");
    QGridLayout * layout1=new QGridLayout(this);
    layout1->addWidget(edit1,0,0);
    layout1->addWidget(edit2,0,1);
    layout1->addWidget(edit3,0,2);
    layout1->addWidget(btn1,1,0);
    layout1->addWidget(label1,1,1);
    //注册按钮点击事件
    connect(btn1,SIGNAL(clicked()),this,SLOT(add()));
}

//按钮点击事件
void Widget::add()
{
    //获取第一个数
    QString s1=edit1->text();
    //获取操作符
    QString s2=edit2->text();
    //获取第三个数
    QString s3=edit3->text();
    //显示结果
    label1->setText(QString::number(GetRes(s1.toInt(),*(s2.toStdString().data()),s3.toInt())));
}

//计算结果
double Widget::GetRes(int num1,char ch,int num2)
{
    double res=0;
    switch(ch)
    {
    case ‘+‘:
        res=num1+num2;
        break;
    case ‘-‘:
        res=num1-num2;
        break;
    case ‘*‘:
        res=num1*num2;
        break;
    case ‘/‘:
        res=num1/num2;
        break;
    default:
        break;
    }
    return res;
}

Widget::~Widget()
{

}

时间: 2024-08-25 12:02:32

QT QT练习一的相关文章

QT,QT SDK, QT Creator 区别

Qt是一个跨平台的C++图形用户界面应用程序框架.(不仅仅是C++,还包括QML,Qquick,html5)它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程. QT Creator 跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE). QT SDK 包括了Qt库.Qt Creator IDE和Qt工具,这些都集成在一个易于安装的文件包里.. Qt<QT C

QT QT creator QTsdk的区别

Qt是一个跨平台的C++图形用户界面应用程序框架.它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程. QT Creator 跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE). QT SDK 包括了Qt库.Qt Creator IDE和Qt工具,这些都集成在一个易于安装的文件包里.. Qt<QT Creator< QT SDK QT框架约等于MFC   

Qt - Qt调用VS生成的C静态库

1,生成dll和lib库 在vs2010中新建工程,在向导中选择DLL,如下图所示: 新建两个文件mydll.h和mydll.c mydll.h代码如下: 1 #ifndef MYDLL_H 2 #define MYDLL_H 3 #ifdef __cplusplus // 4 extern "C"{ 5 #endif 6 __declspec(dllexport) int myFun(int a,int b); 7 8 #ifdef __cplusplus 9 } 10 #endif

QT+QT creator+OpenCV图像灰度化

1).pro文件 #------------------------------------------------- # # Project created by QtCreator 2014-05-18T12:56:52 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = myQTDemo TEM

[Qt] Qt信号槽

信号槽是Qt的核心机制之一,信号槽简单的来说就是两个对象及两个对象问答行为. 例如:发送者(Sender)发出信号(SIGNAL).接收者(Receiver)做出反应(SLOT).利用connect函数将这两个对象及其行为联系起来. 一个简单的例子如下,创建一个button,Clicked button make app quit. #include <QApplication> #include <QPushbutton> int main(int argc, char* arg

QT QT程序初练

//界面编程#include "widget.h" #include "ui_widget.h" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); } Widget::~Widget() { delete ui; } void Widget::on_pushButton_clicked() { QString s1=ui->

paper 139:qt超强绘图控件qwt - 安装及配置

qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等,目前已经应用到许多工业领域,同时qwt也致力于3d的开发.但许多时候,qwt的安装配置难到了许多人,我曾经也在这里原地踏步很久,为了给大家开发方便,把我的安装经验分享给大家,避免

在Qt中如何使用QtDesigner创建的UI文件(一) (转)

使用Qt有一些时间了,一直在IDE环境(qtcreator和VS2003+集成器)中使用,自然少了很多麻烦的步骤.但是在享受这种便利的同时,我们也失去了理解更多知识背后的点滴.在IDE中,如果我们要开发一个对话框,通常是使用 "新建->Qt->Qt设计师界面类" 这样IDE会自动的帮我们生成三个文件(filename.ui, filename.h,filename.cpp).qmake也非常智能,可以自动检测到这个用户界面文件(filename.ui)并且生产适当的make

在Qt中如何使用QtDesigner创建的UI文件

使用Qt有一些时间了,一直在IDE环境(qtcreator和VS2003+集成器)中使用,自然少了很多麻烦的步骤.但是在享受这种便利的同 时,我们也失去了理解更多知识背后的点滴.在IDE中,如果我们要开发一个对话框,通常是使用 “新建—>Qt—>Qt设计师界面类” 这样IDE会自动的帮我们生成三个文件(filename.ui, filename.h,filename.cpp).qmake也非常智能,可以自动检测到这个用户界面文件(filename.ui)并且生产适当的 makefile规则.这