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

要点说明:

1、一个textedit控件,其余全部是button控件,button布局方式:栅格布局(Grid layout)

2、对窗体的Title进行修改(默认是工程名)

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

通过ctrl+鼠标左键可以查看生成的类的详细情况:

  1 /********************************************************************************
  2 ** Form generated from reading UI file ‘dialog.ui‘
  3 **
  4 ** Created by: Qt User Interface Compiler version 5.12.3
  5 **
  6 ** WARNING! All changes made in this file will be lost when recompiling UI file!
  7 ********************************************************************************/
  8
  9 #ifndef UI_DIALOG_H
 10 #define UI_DIALOG_H
 11
 12 #include <QtCore/QVariant>
 13 #include <QtWidgets/QApplication>
 14 #include <QtWidgets/QDialog>
 15 #include <QtWidgets/QGridLayout>
 16 #include <QtWidgets/QLabel>
 17 #include <QtWidgets/QPushButton>
 18 #include <QtWidgets/QVBoxLayout>
 19
 20 QT_BEGIN_NAMESPACE
 21
 22 class Ui_Dialog
 23 {
 24 public:
 25     QVBoxLayout *verticalLayout;
 26     QLabel *lab_display;
 27     QGridLayout *gridLayout;
 28     QPushButton *btn_7;
 29     QPushButton *btn_8;
 30     QPushButton *btn_9;
 31     QPushButton *btn_add;
 32     QPushButton *btn_4;
 33     QPushButton *btn_5;
 34     QPushButton *btn_6;
 35     QPushButton *btn_dec;
 36     QPushButton *btn_1;
 37     QPushButton *btn_2;
 38     QPushButton *btn_3;
 39     QPushButton *btn_mult;
 40     QPushButton *btn_c;
 41     QPushButton *btn_0;
 42     QPushButton *btn_eq;
 43     QPushButton *btn_div;
 44
 45     void setupUi(QDialog *Dialog)
 46     {
 47         if (Dialog->objectName().isEmpty())
 48             Dialog->setObjectName(QString::fromUtf8("Dialog"));
 49         Dialog->resize(338, 334);
 50         verticalLayout = new QVBoxLayout(Dialog);
 51         verticalLayout->setSpacing(6);
 52         verticalLayout->setContentsMargins(11, 11, 11, 11);
 53         verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
 54         lab_display = new QLabel(Dialog);
 55         lab_display->setObjectName(QString::fromUtf8("lab_display"));
 56         lab_display->setStyleSheet(QString::fromUtf8("font: 24pt \"Algerian\";\n"
 57 "background-color: rgb(190, 190, 255);"));
 58         lab_display->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
 59
 60         verticalLayout->addWidget(lab_display);
 61
 62         gridLayout = new QGridLayout();
 63         gridLayout->setSpacing(6);
 64         gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
 65         btn_7 = new QPushButton(Dialog);
 66         btn_7->setObjectName(QString::fromUtf8("btn_7"));
 67         QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding);
 68         sizePolicy.setHorizontalStretch(0);
 69         sizePolicy.setVerticalStretch(0);
 70         sizePolicy.setHeightForWidth(btn_7->sizePolicy().hasHeightForWidth());
 71         btn_7->setSizePolicy(sizePolicy);
 72
 73         gridLayout->addWidget(btn_7, 0, 0, 1, 1);
 74
 75         btn_8 = new QPushButton(Dialog);
 76         btn_8->setObjectName(QString::fromUtf8("btn_8"));
 77         sizePolicy.setHeightForWidth(btn_8->sizePolicy().hasHeightForWidth());
 78         btn_8->setSizePolicy(sizePolicy);
 79
 80         gridLayout->addWidget(btn_8, 0, 1, 1, 1);
 81
 82         btn_9 = new QPushButton(Dialog);
 83         btn_9->setObjectName(QString::fromUtf8("btn_9"));
 84         sizePolicy.setHeightForWidth(btn_9->sizePolicy().hasHeightForWidth());
 85         btn_9->setSizePolicy(sizePolicy);
 86
 87         gridLayout->addWidget(btn_9, 0, 2, 1, 1);
 88
 89         btn_add = new QPushButton(Dialog);
 90         btn_add->setObjectName(QString::fromUtf8("btn_add"));
 91         sizePolicy.setHeightForWidth(btn_add->sizePolicy().hasHeightForWidth());
 92         btn_add->setSizePolicy(sizePolicy);
 93
 94         gridLayout->addWidget(btn_add, 0, 3, 1, 1);
 95
 96         btn_4 = new QPushButton(Dialog);
 97         btn_4->setObjectName(QString::fromUtf8("btn_4"));
 98         sizePolicy.setHeightForWidth(btn_4->sizePolicy().hasHeightForWidth());
 99         btn_4->setSizePolicy(sizePolicy);
100
101         gridLayout->addWidget(btn_4, 1, 0, 1, 1);
102
103         btn_5 = new QPushButton(Dialog);
104         btn_5->setObjectName(QString::fromUtf8("btn_5"));
105         sizePolicy.setHeightForWidth(btn_5->sizePolicy().hasHeightForWidth());
106         btn_5->setSizePolicy(sizePolicy);
107
108         gridLayout->addWidget(btn_5, 1, 1, 1, 1);
109
110         btn_6 = new QPushButton(Dialog);
111         btn_6->setObjectName(QString::fromUtf8("btn_6"));
112         sizePolicy.setHeightForWidth(btn_6->sizePolicy().hasHeightForWidth());
113         btn_6->setSizePolicy(sizePolicy);
114
115         gridLayout->addWidget(btn_6, 1, 2, 1, 1);
116
117         btn_dec = new QPushButton(Dialog);
118         btn_dec->setObjectName(QString::fromUtf8("btn_dec"));
119         sizePolicy.setHeightForWidth(btn_dec->sizePolicy().hasHeightForWidth());
120         btn_dec->setSizePolicy(sizePolicy);
121
122         gridLayout->addWidget(btn_dec, 1, 3, 1, 1);
123
124         btn_1 = new QPushButton(Dialog);
125         btn_1->setObjectName(QString::fromUtf8("btn_1"));
126         sizePolicy.setHeightForWidth(btn_1->sizePolicy().hasHeightForWidth());
127         btn_1->setSizePolicy(sizePolicy);
128
129         gridLayout->addWidget(btn_1, 2, 0, 1, 1);
130
131         btn_2 = new QPushButton(Dialog);
132         btn_2->setObjectName(QString::fromUtf8("btn_2"));
133         sizePolicy.setHeightForWidth(btn_2->sizePolicy().hasHeightForWidth());
134         btn_2->setSizePolicy(sizePolicy);
135
136         gridLayout->addWidget(btn_2, 2, 1, 1, 1);
137
138         btn_3 = new QPushButton(Dialog);
139         btn_3->setObjectName(QString::fromUtf8("btn_3"));
140         sizePolicy.setHeightForWidth(btn_3->sizePolicy().hasHeightForWidth());
141         btn_3->setSizePolicy(sizePolicy);
142
143         gridLayout->addWidget(btn_3, 2, 2, 1, 1);
144
145         btn_mult = new QPushButton(Dialog);
146         btn_mult->setObjectName(QString::fromUtf8("btn_mult"));
147         sizePolicy.setHeightForWidth(btn_mult->sizePolicy().hasHeightForWidth());
148         btn_mult->setSizePolicy(sizePolicy);
149
150         gridLayout->addWidget(btn_mult, 2, 3, 1, 1);
151
152         btn_c = new QPushButton(Dialog);
153         btn_c->setObjectName(QString::fromUtf8("btn_c"));
154         sizePolicy.setHeightForWidth(btn_c->sizePolicy().hasHeightForWidth());
155         btn_c->setSizePolicy(sizePolicy);
156
157         gridLayout->addWidget(btn_c, 3, 0, 1, 1);
158
159         btn_0 = new QPushButton(Dialog);
160         btn_0->setObjectName(QString::fromUtf8("btn_0"));
161         sizePolicy.setHeightForWidth(btn_0->sizePolicy().hasHeightForWidth());
162         btn_0->setSizePolicy(sizePolicy);
163
164         gridLayout->addWidget(btn_0, 3, 1, 1, 1);
165
166         btn_eq = new QPushButton(Dialog);
167         btn_eq->setObjectName(QString::fromUtf8("btn_eq"));
168         sizePolicy.setHeightForWidth(btn_eq->sizePolicy().hasHeightForWidth());
169         btn_eq->setSizePolicy(sizePolicy);
170
171         gridLayout->addWidget(btn_eq, 3, 2, 1, 1);
172
173         btn_div = new QPushButton(Dialog);
174         btn_div->setObjectName(QString::fromUtf8("btn_div"));
175         sizePolicy.setHeightForWidth(btn_div->sizePolicy().hasHeightForWidth());
176         btn_div->setSizePolicy(sizePolicy);
177
178         gridLayout->addWidget(btn_div, 3, 3, 1, 1);
179
180
181         verticalLayout->addLayout(gridLayout);
182
183         verticalLayout->setStretch(0, 2);
184         verticalLayout->setStretch(1, 8);
185
186         retranslateUi(Dialog);
187
188         QMetaObject::connectSlotsByName(Dialog);
189     } // setupUi
190
191     void retranslateUi(QDialog *Dialog)
192     {
193         Dialog->setWindowTitle(QApplication::translate("Dialog", "\350\256\241\347\256\227\345\231\250", nullptr));
194         lab_display->setText(QApplication::translate("Dialog", "0", nullptr));
195         btn_7->setText(QApplication::translate("Dialog", "7", nullptr));
196         btn_8->setText(QApplication::translate("Dialog", "8", nullptr));
197         btn_9->setText(QApplication::translate("Dialog", "9", nullptr));
198         btn_add->setText(QApplication::translate("Dialog", "+", nullptr));
199         btn_4->setText(QApplication::translate("Dialog", "4", nullptr));
200         btn_5->setText(QApplication::translate("Dialog", "5", nullptr));
201         btn_6->setText(QApplication::translate("Dialog", "6", nullptr));
202         btn_dec->setText(QApplication::translate("Dialog", "-", nullptr));
203         btn_1->setText(QApplication::translate("Dialog", "1", nullptr));
204         btn_2->setText(QApplication::translate("Dialog", "2", nullptr));
205         btn_3->setText(QApplication::translate("Dialog", "3", nullptr));
206         btn_mult->setText(QApplication::translate("Dialog", "*", nullptr));
207         btn_c->setText(QApplication::translate("Dialog", "C", nullptr));
208         btn_0->setText(QApplication::translate("Dialog", "0", nullptr));
209         btn_eq->setText(QApplication::translate("Dialog", "=", nullptr));
210         btn_div->setText(QApplication::translate("Dialog", "/", nullptr));
211     } // retranslateUi
212
213 };
214
215 namespace Ui {
216     class Dialog: public Ui_Dialog {};
217 } // namespace Ui
218
219 QT_END_NAMESPACE
220
221 #endif // UI_DIALOG_H

原文地址:https://www.cnblogs.com/data1213/p/10800527.html

时间: 2024-10-09 21:58:46

实现简单的计算器(设计UI)的相关文章

JAVA——简单科学计算器设计

package Calculator_JCoder; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.text.DecimalFormat; import javax.swing.*; import jav

IOS 开发笔记-基础 UI(1)-简单的计算器

(1)UI是App的根基:一个App应该是先有UI界面,然后在UI的基础上增加实用功能 (2)UI相对简单易学:UI普遍是学习过程中最简单的一块,能快速拥有成就感和学习兴趣 (3)UI至关重要:开发中的绝大部分时间都在处理UI 谨记一条IOS软件开发定律:万物皆对象,UI界面上的每一个元素都是一个对象 IOS,android 软件开发过程 UIKit框架是跟UI有关系的,标签,文本,按钮,进度条,开关等控件,都是封装在UIKit框架内部的,UIKit框架中提供了丰富多彩的可视化组件元素,利用UI

基于Qt的信号分析简单应用软件的设计

一.需求描述: 1.读取data.asc文件,分析其连续性: 2.绘制信号图像,并保存. 二.UI界面组成: 该应用的UI由以下几个控件组成: 3个PushButton:打开文件.图像保存.退出: 1个Combox:下拉框用于信号的选择: 1个Widget:用于确定绘图区域的坐标,并在Widget部件上绘制图像曲线. 3个Label:用于标注注释,及坐标轴 三.主要功能的实现 信号分析结果如下: 其中最主要的涉及信号数据的标准化处理,标准化处理计算公式: std=(当前信号值-此类信号的最小值)

使用qt制作一个简单的计算器

前言:今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下. 这里先跟大家说说使用到的函数: 一.槽连接函数 connect(信号发送者,发送的信号,信号接收者,信号接收者的槽函数) //前面我有一篇文章已经介绍过槽函数的使用了,大家有兴趣可以看看,这里就不详细说了.  二.取出按钮中的字符 QString line = ui->pushButton1->text() //取出按钮pushButton1中的字符存放到line中 三.设置输入框中显示的内容 ui->

JAVA 图形开发之计算器设计(事件监听机制)

/*文章中用到的代码只是一部分,需要源码的可通过邮箱联系我 [email protected]*/ 前段时间刚帮同学用MFC写了个计算器,现在学到JAVA的图形开发,就试着水了一个计算器出来.(可以说是一个水的不能再水的计算器了,感觉MFC真好用) 既然是设计计算器,首先肯定是要做一个计算器界面出来了,但面对JAVA容器的两种布局,想把按钮放整齐真的是一件比较难的事,我就直接用了坐标法贴图(上篇博客中有介绍).这是我设计的界面 界面设计完了,下面就要开始实现按按钮输入数据.这时就需要使用事件监听

从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器

从0到1:使用Caliburn.Micro(WPF和MVVM)开发简单的计算器 之前时间一直在使用Caliburn.Micro这种应用了MVVM模式的WPF框架做开发,是时候总结一下了. Caliburn.Micro(Caliburn.Micro框架概述 - https://blog.csdn.net/lzuacm/article/details/78886436) 是一个轻量级的WPF框架,简化了WPF中的不少用法,推荐做WPF开发时优先使用. 真正快速而熟练地掌握一门技术就可以尝试着用最快的

JS实现一个简单的计算器

使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除.效果如上: 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择框的值. 提示:document.getElementById( id名 ).value 获取或设置 id名的值. 第三步: 获取通过下拉框来选择的值来改变加减乘除的运算法则. 提示:使用switch判断运算法则. 第四步:  通过 = 按钮来调用创建的函数,得到结果. 注意: 使用parseInt

留念 C语言第一课简单的计算器制作

学C语言这么久了.  /* 留念 C语言第一课简单的计算器制作 */ #include<stdio.h>  #include<stdlib.h> #include<conio.h>void displayMenu();void add();void sub();void multiply();void divide();void yushu();void jiecheng();void leijia();void jiechengleijia();int main(in

最简单的计算器脚本

看过老男孩的视频,感触颇深啊,老师的思想真不是一般人可以想到的,来看看老男孩老师的超简单的计算器脚本吧 #!/bin/sh echo $(($1)) 大家都知道$(())中间小括号里面的内容可以被外面括号当作运算来输出,但是知道以上的方式的人有多少呢??? 脚本应用 [[email protected] scripts]# cat 1.sh  #!/bin/sh echo $(($1)) [[email protected] scripts]# sh 1.sh 10*10 100 [[email

利用树莓派实现简单的计算器

在实验板上实现一个简单的计算器,要求在实验板的命令行运行程序,输入两个100以内的数字以及运算符 (+,-,*,/),然后计算结果并在数码管上显示计算结果. 电路设计如下: 实物连接: 代码如下: #include <wiringPi.h> #include <stdio.h> #include <stdlib.h> #define DIGIT1 9 #define DIGIT2 13 #define DIGIT3 12 #define DIGIT4 8 #define