实现简单的计算器(设计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(). 第二步: 获取两个输入框中的值和获取选择 ...
随机推荐
- 开发过程中git的使用
使用clone命令可以直接将git添加到本地库: 主要是针对分支的操作: 首先可以将创建一个属于自己的分支并往上面提交代码,最后合并到dev分支和master分支上面: 前提(master已经有一个文 ...
- 在 LaTeX 中同步缩放 TikZ 与其中的 node
PGF/TikZ 是 Till Tantau 开发的基于 TeX 的绘图引擎.因其可以直接在 LaTeX 文稿中通过代码绘制向量图,所以是目前流行的 LaTeX 绘图解决方案之一. 在 tikzpic ...
- HTML加载过程
在地址栏输入url,返回html后,浏览器开始顺序加载并渲染DOM Body标签 当浏览器遇到body标签才算真正开始加载并渲染DOM,此时会有以下几种情况: DOM元素 浏览器遇到dom元素时,正常 ...
- linux运维、架构之路-cobbler无人值守
一.cobbler介绍 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等 1.主要功能:①Cobbl ...
- sqlite3 on python for newbies
python 集成了 sqlite3 ,其接口很简单: import sqlite3 db_connection = sqlite3.connect(db_filename) db_cursor = ...
- spring 知识结构
- spring IOC(Spring 生命周期,先1.构造方式,2,初始化方法,3,目标方法,4,销毁方法)
- asp.net 5 如何使用ioc 以及在如何获取httpcontext对象
一切尽在大叔的博客中: http://www.cnblogs.com/TomXu/p/4496440.html
- 特征提取算法(3)——SIFT特征提取算子
目录: 前言 1.高斯尺度空间GSS 2.高斯差分DOG 用DoG检测特征点 GSS尺度选择 3.图像金字塔建立 用前一个octave中的倒数第三幅图像生成下一octave中的第一幅图像 每层octa ...
- 详细讲解Android中的AbsListView的源码
不知道各位童鞋们在开发的过程中有没有感兴趣过ListView是如何实现的呢?其实本身ListView的父类AbsListView才是关键,但是如果大家看过源码的话,会发现AbsListView将近70 ...