实现简单的计算器(设计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(). 第二步: 获取两个输入框中的值和获取选择 ...
随机推荐
- 使用RAP2模拟假数据实现前后端分离
一.为什么使用RAP2 在一个项目的开发中,在页面需要使用大量数据进行渲染生成前,后端开发人员的接口可能还没有写完, 当前端没有后端数据支持的情况下,我们使用mock.js(mock.js用于生成随机 ...
- man lspci
lspci(8) Linux PCI Utilities lspci(8) NAME lspci - 列出 ...
- codevs 2038 香甜的黄油x+luogu P1828 x
题目描述 Description 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油 ...
- CodeForces - 474D (dp)
题目:https://vjudge.net/contest/326867#problem/B 题意:有很多个蛋糕,现在你有两种吃蛋糕的吃法,一次吃一个,定为A,一次吃k个定为B,然后问你吃m个蛋糕有多 ...
- Xcode Server持续集成
这是一篇2017-11-12 年我还在 ezbuy 的一篇文章,时间过去很早了,最近在整理笔记的时候发现了, 同步过来,文章内容现在是否有效不确定,应该大差不差,读者仅做参考 最后更新 2017-11 ...
- Maps.newHashMap 和 new HashMap的区别
区别: (1)Map<String, Object> result = new HashMap<String,Object>(); 这种是java原生API写法,需要你手动加泛 ...
- TensorFlow 源码编译安装
## Install prerequisites (rhel) yum install numpy python-devel python-wheel python-mock ## Install B ...
- Junit单元测试的使用
这里拿Dynamic Web Project项目来演示,首先创建一个Dynamic Web Project项目,起名,点next, 继续点next, 将web.xml文件勾选,finish, 接下来在 ...
- 二十五、python中pickle序列学习(仅python语言中有)
1.pickle序列介绍:提供4个关键字:dumps,dump,loads,load 语法:f.write(pickle.dumps(dict))=pickle.dump(dict,f) " ...
- 监听整个页面上的DOM树变化
在线预览 方法 使用<Web API 接口>的<MutationObserver> MutationObserver 网上查到的很多都是使用Mutation events的,但 ...