QT学习第8课:QT计算器界面实现
声明:此文章仅是个人在学习狄泰QT课程所做的笔记,文章中包含狄泰资料的,一切版权归狄泰软件所有!
第8课是来做一个计算器界面,只是一个界面显示。不过也是挺兴奋的,以前一直对着黑框框,现在终于到界面了。
界面如下:
在设计这个计算器的时候,需要有QLineEdit组件。
-QLineEdit用于接受用户输入
-QLineEdit能够获取用户输出的字符串
-QLineEdit是功能性组件,需要父组件作为容器
-QLineEdit能够在父组件中进行定位
1 QWidget w;//生成QWidget对象,顶级组件 2 QLineEdit le(&w);//生成QLineEdit对象,其父组件为QWidget 3 4 le.SetAlignment(Qt::AlingnRight);//设置显示字符串向右边对齐 5 le.move(10,10);//移动到坐标10,10 6 le.resize(240, 30);//设置大小width=240,height=30
界面设计图如下:
-定义组件间的间距
Space = 10px
-定义按钮组件大小
Width = 40px, Height = 40px
-定义文本框组件大小
Width = 5 * 40px + 4*10px, Height = 30px
设计与实现:
-计算器程序不需要最大化和最小化按钮
-计算器程序的窗口应该是固定化大小
-文本框不能直接输入字符
小结:
-GUI应用程序开发应该前必须先进行界面设计
-GUI应用程序界面需要考虑各个细节
-界面决定最终用户的体验
-界面细节是GUI应用程序品质的重要体现
-QT库有能力实现各种GUI应用程序需求
-QT帮助文档的使用对于开发是非常重要的。
代码实例:
1 /*加入QT头文件,编译环境QT5.8*/ 2 #include <QApplication> 3 #include <QWidget> 4 #include <QLineEdit> 5 #include <QPushButton> 6 7 8 int main(int argc, char *argv[]) 9 { 10 QApplication a(argc, argv); //初学还不太懂 11 QWidget* w = new QWidget(NULL, Qt::WindowCloseButtonHint);//定义一个窗口对象,并配置窗口类型 12 QLineEdit* le = new QLineEdit(w);//定义一个对话框对象 13 QPushButton* button[20] = {0};//定义一个对象数组,包括有20个按键 14 15 //按键的内容数组 16 const char* btnText[20]= 17 { 18 "7", "8", "9", "+", "(", 19 "4", "5", "6", "-", ")", 20 "1", "2", "3", "*", "<-", 21 "0", ".", "=", "/", "C", 22 23 }; 24 25 int ret = 0; 26 27 le->move(10, 10); //设置对话框对象位置于坐标10,10的位置 28 le->resize(240, 30); //设置对话框大小240,30 29 le->setReadOnly(true); //配置对话框不能输入 30 31 /*实现20个按键的排列及对按键内容的赋值*/ 32 for(int i=0; i<4; i++) 33 { 34 for(int j=0; j<5; j++) 35 { 36 button[i*5 + j] = new QPushButton(w);//创建20个按键 37 button[i*5 + j]->resize(40, 40);//按键大小为40*40 38 button[i*5 + j]->move(10 + (10 + 40) * j,50 + ( 10 + 40)* i);//按键行和列间距 39 button[i*5 + j]->setText(btnText[i*5 + j]);//按键的字面值赋值 40 } 41 } 42 43 44 45 w->show(); //显示窗口 46 w->setFixedSize(w->width(), w->height());//配置窗口大小 47 48 return a.exec();//进入事件循环 49 50 delete w; //释放堆空间 51 delete le; 52 53 return ret; 54 }
实例效果图如下:
当然现在只是一个界面,还得学会后面的知识才能实现这功能。一天进步一点。
转载于:https://www.cnblogs.com/qingfeng2018/p/6637626.html
QT学习第8课:QT计算器界面实现相关推荐
- 【QT学习笔记】基于QT的天气预报
[QT学习笔记]基于QT的天气预报 前言 那就开始吧! 先看一下效果 颜面最重要,画个UI 构造实现 怎么开始? 开始解析数据 关于城市切换 ok 最后源码献上 感谢 前言 学习qt已经有一段时间了, ...
- qt学习总结之探索Qt的安装目录结构
一般地,安装完一个软件后,我习惯到安装目录去看一下目录以及文件.对于Qt这样一个"复杂的软件",了解其文件目录结构虽然不是掌握编程所必须的,但是对其适当的了解能够让我们对 Qt 的 ...
- Qt学习之Windows下Qt应用程序打包成exe安装包
本文介绍如何将exe可执行程序打包成exe安装包,打包完的安装包可以直接在Windows下安装,需要用到 Inno Setup 安装程序制作软件工具,工具下载完之后直接安装即可. 工具下载: 打包安装 ...
- QT学习-超漂亮的软件登录界面模块
开发环境: window10.QT Create5.14.2 封装形式 生成动态库,包含.dll文件..a文件.h文件 调用方式 把dll动态库..a文件.h文件添加进自己的工程,在弹出软件主界面之前 ...
- 【Qt学习】网课P23-P28 各种控件的使用
0421 P23 02登录窗口布局 界面的布局: 使用widget进行布局:水平.垂直.栅格 给用户名.密码.登录.退出按钮布局 使用弹簧:水平.垂直弹簧 首先拖拽几个控件: 编译生成程序,查看结果 ...
- 【QT学习】QSS样式表实现界面换肤(图文详解+源码)
文章目录 前言 一.实现效果 二.QSS简介及用法 1.什么是QSS? 2.怎么使用QSS? 三.QSS用法一:单个控件调用setStyleSheet函数 四.QSS用法二:编写单个界面.qss文件的 ...
- QT学习笔记14(Qt模型视图结构)
一.基础知识 1.MVC设计模式:是一种与用户界面相关的设计模式,通过此模式,可以有效的分离数据和用户界面. MVC包括三个要素: 表示数据的模型(Model):应用程序的对象 表示用户界面的视图(V ...
- Qt学习之路(17): Qt标准对话框之QMessageBox
好久没有更新博客,主要是公司里面还在验收一些东西,所以没有及时更新.而且也在写一个基于Qt的画图程序,基本上类似于PS的东西,主要用到的是Qt Graphics View Framework.好了,现 ...
- Qt学习之路(35): Qt容器类之顺序存储容器
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://devbean.blog.51cto.com/448512/245988 本来计划 ...
最新文章
- CentOS 7 修改时区例如上海时区
- 大规模深度学习预测场景下 codegen 的思考与应用
- spring @Order注解
- ATT开源项目反客为主
- java 3位小数_数字有效小数第三位四舍五入
- extends 和super 泛型限定符-上界不存下界不取
- SQL多条件查询拼接in中条件方法
- 计算机普通用户禁止修改c盘,win10系统禁止Guest账户访问C盘的设置技巧
- html右侧文字左对齐,HTML文字怎么左对齐
- 解决基于html5video标签多个视频同时播放的问题
- emwin模拟器编译环境搭建及helloworld例程
- 《2022 数字时代|元宇宙产业发展高峰论坛》圆满落幕
- 猴子选大王(c语言)
- 弘辽科技:丁真一夜爆红背后的直播发展趋势
- 树莓派基于ffmpeg+阿里云流媒体服务器实现视频直播
- CVPR 2021 全部论文链接公布!最新1660篇论文合集!附下载链接
- U盘防毒最强方案(创建删不掉的autorun.inf文件夹)
- 羽毛球馆场地管理系统的设计与实现
- python 汉字数字转阿拉伯数字
- 小学四年级数学上册计算机算题,小学四年级数学上册计算练习题
热门文章
- java redis管理_优雅时间管理Java轻松做到,想学么?
- hdu 2665(主席树查询区间k大值)
- 从头开始学python教程_怎样开始自学Python?
- 计算机专业黑板报迎新,大学开学迎新黑板报
- windows php-cgi命令选项,windows平台上php-cgi调用系统命令(net)时执行异常,但在命令行下能正常执行,问题会出在哪呢?...
- 主流家用计算机,年终聊装机 主流家用电脑怎么选CPU?
- 浅谈Chatbot的架构模型和响应机制
- 卷积神经网络基础:(6)卷积神经网络原理
- ROS系统——动态修改realsense相机参数方法
- R6010-abort() has been called,Error openning file ../../modules/highgui/src/cap_ffmpeg_impl.hpp解决方法