界面中通过三个 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 = );
~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,,);
layout1->addWidget(edit2,,);
layout1->addWidget(edit3,,);
layout1->addWidget(btn1,,);
layout1->addWidget(label1,,);
//注册按钮点击事件
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=;
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()
{ }

实现“幸运大抽奖”luck.exe程序功能。
#ifndef WIDGET_H
#define WIDGET_H #include <QWidget>
#include <QPushButton>
#include <QLabel>
#include <QTimer> class Widget : public QWidget
{
Q_OBJECT public:
Widget(QWidget *parent = );
~Widget();
private:
QPushButton * btn1;
QLabel * label1;
QTimer * time1;
char ** arr;
private slots:
void choicename();
void on_time();
}; #endif // WIDGET_H
#include "widget.h"
#include <QGridLayout> Widget::Widget(QWidget *parent)
: QWidget(parent)
{
arr=new char *[];
arr[]="小米0";
arr[]="小红1";
arr[]="流云2";
arr[]="天哥3";
arr[]="小叶4";
arr[]="红玉5";
arr[]="南天6";
arr[]="晓峰7";
arr[]="字有8";
arr[]="小刚9";
time1=new QTimer(this);
btn1=new QPushButton(tr("抽奖"),this);
label1=new QLabel(this);
label1->setText("Name");
QGridLayout *layout1=new QGridLayout(this);
layout1->addWidget(btn1,,);
layout1->addWidget(label1,,);
//注册按钮点击事件
connect(btn1,SIGNAL(clicked()),this,SLOT(choicename()));
//注册定时器事件
connect(time1,SIGNAL(timeout()),this,SLOT(on_time()));
} void Widget::choicename()
{
if(time1->isActive())
{
time1->stop();
}
else
{
time1->start();
}
} void Widget::on_time()
{
static int i=;
if(i>=)
{
i=;
}
label1->setText(arr[i]);
i++;
} Widget::~Widget()
{ }

QT QT练习一的更多相关文章

  1. Qt... configure: error: Qt (>= Qt 2.2.2) (headers…

    转载:http://blog.chinaunix.net/uid-23733724-id-290980.html     昨天开始在自己的fedora12下装qt~ 但是按照教程在/opt/Embed ...

  2. Qt, QT/E, Qtopia 的区别

    转自Qt, QT/E, Qtopia 的区别 Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等.由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Q ...

  3. QT QT creator QTsdk的区别

    Qt是一个跨平台的C++图形用户界面应用程序框架.它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程. QT Creator 跨平台 ...

  4. QT,QT SDK, QT Creator 区别

    Qt是一个跨平台的C++图形用户界面应用程序框架.(不仅仅是C++,还包括QML,Qquick,html5)它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能.Qt是完全面向对象的,很容易扩 ...

  5. [QT]Qt+VS2012+Win8 64Bit安装

    学习Qt鸟,当年没听@Coding_Peon(http://weibo.com/u/1764451551?topnav=1&wvr=5&topsug=1)话好好学习QT和Python之 ...

  6. QT+QT creator+OpenCV图像灰度化

    1).pro文件 #------------------------------------------------- # # Project created by QtCreator 2014-05 ...

  7. [QT]QT概述

    QT概述 基于C++的GUI开发框架,跨平台.Qt 是一个用于桌面系统和嵌入式开发的跨平台应用程序框架. QT是挪威TROLLTECH公司开发的跨平台C++工具,在UNIX下非常出名:他的宗旨是“一次 ...

  8. QT | QT MSVC 2015 + VS 2015开发环境配置及GIT设置

    1.下载: 所有Qt版本的下载地址: http://download.qt.io/archive/qt/ 实际使用了http://download.qt.io/archive/qt/5.7/5.7.1 ...

  9. Qt.Qt新安装之后出现Error while building/deploying (kit: Desktop Qt 5.7.0 GCC 64bit) When executing step "Make”

    出问题的环境: 操作系统: Ubuntu18.04 安装包: qt-opensource-linux-x64-5.8.0.run 现象: 新建一个Hello World项目, 试着运行, 出现以下提示 ...

  10. qt——QT中QWidget、QDialog及QMainWindow的区别

    QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己.每一个窗口部件都是矩形的,并且它们按Z轴顺序排列.一个窗口部件 ...

随机推荐

  1. iOS之 FBMemoryProfiler FB的循环引用检测工具

    经过两天的google终于搞定了FBMemoryProfiler这个开源检测循环引用的工具.中间的曲折也是让人头疼,言归正传直接说一下这个memoryProfiler github:https://g ...

  2. 坑!坑!坑!防不胜防的unsigned int的运算

    我很早之前就知道,unsigned int与int运算的时候,int会被转化为unsigned int来进行运算.一直觉得定这条规则的人是极度反人类的,虽说unsigned int可以表示更大的正值, ...

  3. linux 学习随笔-group和user管理

    1:/etc/passwd 打开该文件,可以看到每一行内容被分割成了7个字段比如:root:x:0:0:root:/root:/bin/bash 第一个字段表示用户名为root用户 第二个字段存放了该 ...

  4. WPF学习之路(七)应用程序和窗口(续)

    窗口的生命周期 WPF中一个Window类代表一个窗口 一个的窗口的生命周期也有好几个阶段: 1.构造器被调用 2.Window.Initialized事件被触发 3.Window.Activated ...

  5. EMC Documentum DQL整理(二)

    1.Get file extension SELECT dos_extension FROM dm_format WHERE name IN (SELECT a_content_type FROM d ...

  6. 使用git的分支功能实现定制功能摘取与组合的想法

    前言,这个想法应该是git比较通用的做法,只是我还没用过,所以把自己的想法记录在这里,督促自己以后按这个方式执行. 我们公司现在面临一个问题, 就是客户的定制需求很多,很杂,其中坑爹需求很多. 我还没 ...

  7. 编写可测试的JavaScript代码

    <编写可测试的JavaScript代码>基本信息作者: [美] Mark Ethan Trostler 托斯勒 著 译者: 徐涛出版社:人民邮电出版社ISBN:9787115373373上 ...

  8. mysql / mysqld_safe / mysqld 常见错误处理

    1. FATAL ERROR: Could not find ./bin/my_print_defaults [root@localhost scripts]# ./mysql_install_db ...

  9. 数据分页处理系列之一:Oracle表数据分页检索SQL

      关于Oracle数据分页检索SQL语法,网络上比比皆是,花样繁多,本篇也是笔者本人在网络上搜寻的比较有代表性的语法,绝非本人原创,贴在这里,纯粹是为了让"数据分页专题系列"看起 ...

  10. python基础(五)缩进和选择

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例. ...