实现简单的计算器(设计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(). 第二步: 获取两个输入框中的值和获取选择 ...
随机推荐
- 【串线篇】spring boot使用外置的Servlet容器
嵌入式Servlet容器:应用打成可执行的jar 优点:简单.便携: 缺点:默认不支持JSP.优化定制比较复杂 (使用定制器[ServerProperties/自定义EmbeddedServletCo ...
- bzoj2600 [Ioi2011]ricehub 双指针
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2600 题解 随便写一个比较简单的 two pointers 练习题. 首先答案肯定是一个原序列 ...
- Keras MAE和MSE source code
def mean_squared_error(y_true, y_pred): if not K.is_tensor(y_pred): y_pred = K.constant(y_pred) y_tr ...
- js 获取滚动位置,滚动到指定位置,平滑滚动
1.获取当前滚动条位置信息 var top = dom.scrollTop; // 获取y轴上的滚动位置 var left = dom.scrollLeft; // 获取x轴上的滚动位置 2.滚动到指 ...
- Ubuntu操作
1. 从windows 拷贝文件到Ubuntu: scp /c/Users/init/Downloads/pycharm-community-2019.3.tar.gz alice@192 ...
- Spring——IOC与Bean容器
[IOC] (1)IOC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护.也就是说由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中 (2)DI: ...
- Java——常用类(Math)
[常用方法] 这些方法为静态方法.
- Leetcode 17. Letter Combinations of a Phone Number(水)
17. Letter Combinations of a Phone Number Medium Given a string containing digits from 2-9 inclusive ...
- BZOJ 3329: Xorequ(数位dp+递推)
传送门 解题思路 可以把原式移项得\(x\)^\(2x\)=\(3x\),而\(x+2x=3x\),说明\(x\)二进制下不能有两个连续的\(1\).那么第一问就是一个简单的数位\(dp\),第二问考 ...
- [BZOJ3140][HNOI2013]消毒:二分图匹配
分析 假如实验皿是二维的,那么这道题便是一个二分图最小点覆盖问题,可以转化为二分图最大匹配问题,使用匈牙利算法解决. 考虑如何扩展到三维,首先我们发现一次操作的代价为\(min(x,y,z)\).不难 ...