实现简单的计算器(设计UI)

要点说明:
1、一个textedit控件,其余全部是button控件,button布局方式:栅格布局(Grid layout)
2、对窗体的Title进行修改(默认是工程名)

3、在ui文件中设计的UI,编译器会自动创建一个类,在这个类的创建依据就是在用户自定义的类中说明的:

通过ctrl+鼠标左键可以查看生成的类的详细情况:
/********************************************************************************
** Form generated from reading UI file 'dialog.ui'
**
** Created by: Qt User Interface Compiler version 5.12.3
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/ #ifndef UI_DIALOG_H
#define UI_DIALOG_H #include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QDialog>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QVBoxLayout> QT_BEGIN_NAMESPACE class Ui_Dialog
{
public:
QVBoxLayout *verticalLayout;
QLabel *lab_display;
QGridLayout *gridLayout;
QPushButton *btn_7;
QPushButton *btn_8;
QPushButton *btn_9;
QPushButton *btn_add;
QPushButton *btn_4;
QPushButton *btn_5;
QPushButton *btn_6;
QPushButton *btn_dec;
QPushButton *btn_1;
QPushButton *btn_2;
QPushButton *btn_3;
QPushButton *btn_mult;
QPushButton *btn_c;
QPushButton *btn_0;
QPushButton *btn_eq;
QPushButton *btn_div; void setupUi(QDialog *Dialog)
{
if (Dialog->objectName().isEmpty())
Dialog->setObjectName(QString::fromUtf8("Dialog"));
Dialog->resize(, );
verticalLayout = new QVBoxLayout(Dialog);
verticalLayout->setSpacing();
verticalLayout->setContentsMargins(, , , );
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
lab_display = new QLabel(Dialog);
lab_display->setObjectName(QString::fromUtf8("lab_display"));
lab_display->setStyleSheet(QString::fromUtf8("font: 24pt \"Algerian\";\n"
"background-color: rgb(190, 190, 255);"));
lab_display->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter); verticalLayout->addWidget(lab_display); gridLayout = new QGridLayout();
gridLayout->setSpacing();
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
btn_7 = new QPushButton(Dialog);
btn_7->setObjectName(QString::fromUtf8("btn_7"));
QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding);
sizePolicy.setHorizontalStretch();
sizePolicy.setVerticalStretch();
sizePolicy.setHeightForWidth(btn_7->sizePolicy().hasHeightForWidth());
btn_7->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_7, , , , ); btn_8 = new QPushButton(Dialog);
btn_8->setObjectName(QString::fromUtf8("btn_8"));
sizePolicy.setHeightForWidth(btn_8->sizePolicy().hasHeightForWidth());
btn_8->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_8, , , , ); btn_9 = new QPushButton(Dialog);
btn_9->setObjectName(QString::fromUtf8("btn_9"));
sizePolicy.setHeightForWidth(btn_9->sizePolicy().hasHeightForWidth());
btn_9->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_9, , , , ); btn_add = new QPushButton(Dialog);
btn_add->setObjectName(QString::fromUtf8("btn_add"));
sizePolicy.setHeightForWidth(btn_add->sizePolicy().hasHeightForWidth());
btn_add->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_add, , , , ); btn_4 = new QPushButton(Dialog);
btn_4->setObjectName(QString::fromUtf8("btn_4"));
sizePolicy.setHeightForWidth(btn_4->sizePolicy().hasHeightForWidth());
btn_4->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_4, , , , ); btn_5 = new QPushButton(Dialog);
btn_5->setObjectName(QString::fromUtf8("btn_5"));
sizePolicy.setHeightForWidth(btn_5->sizePolicy().hasHeightForWidth());
btn_5->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_5, , , , ); btn_6 = new QPushButton(Dialog);
btn_6->setObjectName(QString::fromUtf8("btn_6"));
sizePolicy.setHeightForWidth(btn_6->sizePolicy().hasHeightForWidth());
btn_6->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_6, , , , ); btn_dec = new QPushButton(Dialog);
btn_dec->setObjectName(QString::fromUtf8("btn_dec"));
sizePolicy.setHeightForWidth(btn_dec->sizePolicy().hasHeightForWidth());
btn_dec->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_dec, , , , ); btn_1 = new QPushButton(Dialog);
btn_1->setObjectName(QString::fromUtf8("btn_1"));
sizePolicy.setHeightForWidth(btn_1->sizePolicy().hasHeightForWidth());
btn_1->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_1, , , , ); btn_2 = new QPushButton(Dialog);
btn_2->setObjectName(QString::fromUtf8("btn_2"));
sizePolicy.setHeightForWidth(btn_2->sizePolicy().hasHeightForWidth());
btn_2->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_2, , , , ); btn_3 = new QPushButton(Dialog);
btn_3->setObjectName(QString::fromUtf8("btn_3"));
sizePolicy.setHeightForWidth(btn_3->sizePolicy().hasHeightForWidth());
btn_3->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_3, , , , ); btn_mult = new QPushButton(Dialog);
btn_mult->setObjectName(QString::fromUtf8("btn_mult"));
sizePolicy.setHeightForWidth(btn_mult->sizePolicy().hasHeightForWidth());
btn_mult->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_mult, , , , ); btn_c = new QPushButton(Dialog);
btn_c->setObjectName(QString::fromUtf8("btn_c"));
sizePolicy.setHeightForWidth(btn_c->sizePolicy().hasHeightForWidth());
btn_c->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_c, , , , ); btn_0 = new QPushButton(Dialog);
btn_0->setObjectName(QString::fromUtf8("btn_0"));
sizePolicy.setHeightForWidth(btn_0->sizePolicy().hasHeightForWidth());
btn_0->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_0, , , , ); btn_eq = new QPushButton(Dialog);
btn_eq->setObjectName(QString::fromUtf8("btn_eq"));
sizePolicy.setHeightForWidth(btn_eq->sizePolicy().hasHeightForWidth());
btn_eq->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_eq, , , , ); btn_div = new QPushButton(Dialog);
btn_div->setObjectName(QString::fromUtf8("btn_div"));
sizePolicy.setHeightForWidth(btn_div->sizePolicy().hasHeightForWidth());
btn_div->setSizePolicy(sizePolicy); gridLayout->addWidget(btn_div, , , , ); verticalLayout->addLayout(gridLayout); verticalLayout->setStretch(, );
verticalLayout->setStretch(, ); retranslateUi(Dialog); QMetaObject::connectSlotsByName(Dialog);
} // setupUi void retranslateUi(QDialog *Dialog)
{
Dialog->setWindowTitle(QApplication::translate("Dialog", "\350\256\241\347\256\227\345\231\250", nullptr));
lab_display->setText(QApplication::translate("Dialog", "", nullptr));
btn_7->setText(QApplication::translate("Dialog", "", nullptr));
btn_8->setText(QApplication::translate("Dialog", "", nullptr));
btn_9->setText(QApplication::translate("Dialog", "", nullptr));
btn_add->setText(QApplication::translate("Dialog", "+", nullptr));
btn_4->setText(QApplication::translate("Dialog", "", nullptr));
btn_5->setText(QApplication::translate("Dialog", "", nullptr));
btn_6->setText(QApplication::translate("Dialog", "", nullptr));
btn_dec->setText(QApplication::translate("Dialog", "-", nullptr));
btn_1->setText(QApplication::translate("Dialog", "", nullptr));
btn_2->setText(QApplication::translate("Dialog", "", nullptr));
btn_3->setText(QApplication::translate("Dialog", "", nullptr));
btn_mult->setText(QApplication::translate("Dialog", "*", nullptr));
btn_c->setText(QApplication::translate("Dialog", "C", nullptr));
btn_0->setText(QApplication::translate("Dialog", "", nullptr));
btn_eq->setText(QApplication::translate("Dialog", "=", nullptr));
btn_div->setText(QApplication::translate("Dialog", "/", nullptr));
} // retranslateUi }; namespace Ui {
class Dialog: public Ui_Dialog {};
} // namespace Ui QT_END_NAMESPACE #endif // UI_DIALOG_H
实现简单的计算器(设计UI)的更多相关文章
- NHIBERNATE的简单框架的设计
NHIBERNATE的简单框架的设计 上次的 NHibernate的Session管理策略和NHibernateHelper 发布并提供下载,给NHibernate刚入门的同学们带来很多便利. 最近有 ...
- 使用qt制作一个简单的计算器
前言:今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下. 这里先跟大家说说使用到的函数: 一.槽连接函数 connect(信号发送者,发送的信号,信号接收者,信号接收者的 ...
- 从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器
从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器 之前时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了. Calibu ...
- JAVA 图形开发之计算器设计(事件监听机制)
/*文章中用到的代码只是一部分,需要源码的可通过邮箱联系我 1978702969@qq.com*/ 前段时间刚帮同学用MFC写了个计算器,现在学到JAVA的图形开发,就试着水了一个计算器出来.(可以说 ...
- PyQt5系列教程(二)利用QtDesigner设计UI界面
软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 PyCharm 5.0.1 前言 在PyQt5系列教程的第一篇http://blog.csdn.net/dj ...
- js制作简单的计算器
学着做了一个简单的计算器!记录记录!哈哈 <!DOCTYPE html> <html> <head> <title>简单的计算器</title&g ...
- 留念 C语言第一课简单的计算器制作
留念 C语言第一课简单的计算器制作 学C语言这么久了. /* 留念 C语言第一课简单的计算器制作 */ #include<stdio.h> #include<stdlib.h ...
- 信息安全系统设计基础课程实践:简单TUI游戏设计
简单TUI游戏设计 目 录 一 Curses库简介与基本开发方法 ...
- jsp学习---使用jsp和JavaBean实现超简单网页计算器
一.需求 如题,用jsp实现一个超简单的网页计算器. 二.实现 1.效果图 1)初始界面: 2)随便输入两个数进行相乘: 3)当除数为零时提示报错: 2.代码 Calculator.java pack ...
- JS实现一个简单的计算器
使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除.效果如上: 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择 ...
随机推荐
- XTemplate模板学习和使用总结
XTemplate模板学习和使用总结 前言 XTemplate是我接触的第一个模板语言,用在公司的一个NodeJS项目中,跟它打交道经常是因为需要使用它的语法向模板中注入数据.因为是刚入门前端不久 ...
- CentOS6.5 安装gitlab以及gitolite迁移gitlab
CentOS6.5 安装gitlab以及gitolite迁移gitlab gitlab 的安装使用以及数据结构 安装 环境: CentOS6.5 基于 nignx + unicorn 搭建的应用环境, ...
- SQL查询语句备忘录
有关于SQL查询的相关语句和语法的记录!备忘与复习用 1.SQL多表联合查询 select a.字段1,a.字段2,b,字段2 from 表1 a,表2 b where a.字段1 =b.字段1 2. ...
- 【BZOJ3601】一个人的数论
题目链接 题意简述 求小于 n 且与 n 互质的数的 k 次方之和. Sol 要求的东西: \[\sum_{i=1}^n i^k [gcd(i,n)=1]\] 枚举 gcd 上个莫比乌斯函数: \[\ ...
- Python---Tkinter---贪吃蛇
# 项目分析: - 构成: - 蛇 Snake - 食物 Food - 世界 World - 蛇和食物属于整个世界 class World: self.snake self.food ------- ...
- linux运维、架构之路-Hadoop完全分布式集群搭建
一.介绍 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS.HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件 ...
- JavaScript正则表达式(四)
正则表达式方法 一.test方法 用于测试字符串参数中是否存在匹配正则表达式模式的字符串 如果存在就返回true,否则返回false 实例: 1.使用test方法不设置g标志时 2.使用test方法 ...
- React Native 之SectionList
接上一篇: /pages/SectionListDemo.js import React, {Fragment,Component} from 'react'; import { SafeAreaVi ...
- Gparted for partition of Linux on graphic interface
You can change the partition table on Linux by a group of tools, which is tool comprehansive for a n ...
- PHP超大文件上传与下载
前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...