上一章我们使用代码直接进行界面设计,这一章我们使用Qt Designer进行界面设计,简单直接,所见即所得,大大提高了工作效率,特别是对于复杂界面。

1熟悉Qt Designer

Qt Designer是Qt专为界面设计做的软件,使得用户能够通过拖拽的方式直接布置界面,然后Qt Creator可以将Qt Designer的界面转换成C++代码。Qt也将Qt Designer内置在了Qt Creator中,使得用户可以在一个编辑器中来回切换界面与代码。我们在之前新建的HelloWorld项目中,双击mainwindow.ui,出现以下界面:

这就是嵌入在Qt Creator中的Qt Designer的样子,但是由于我们在使用Qt Creator编程的时候,都偏爱黑色主题,这就使得内置的Qt Designer黑乎乎的,控件拖拽在上面也不太清晰,所以我推荐大家单独打开Qt Designer来进行界面设计,单独打开的Qt Designer是白色主题,界面比较清晰,如果你的电脑是双屏的话,一个屏编写代码,一个屏设计界面,那定是极好的了!

如何在项目中快速地打开Qt Designer呢,可以这么操作:将鼠标放置在左侧项目目录中的mainwindow.ui上右键,选择“用...打开”,然后选择Qt Designer,如下图所示:

打开的Qt Designer软件如下图所示:

即使你从没使用过这个软件,你也能一眼看懂软件各组成部分的内容。我们将界面精简一下,去掉不常用的或暂时用不到的部分,将软件右下角的信号/槽编辑器、动作编辑器、资源浏览器子界面都叉掉,整个软件就剩下顶部的菜单工具栏,左侧的控件区,中间的界面布局区和右侧的对象查看器、属性编辑器。使用Qt Designer设计界面的流程大致为:①从控件区拖拽需要的控件到界面布局区;②随后在对象查看器中能够看到界面中存在的控件和控件的顺序;③然后在属性编辑器中编辑控件的属性;④点击顶部的工具栏中的布局工具对界面就行布局;⑤记得保存,否则Qt Creator无法获取最新的界面变动。

2.拖拽控件进行布局

接下来我们使用Qt Designer设计界面,在窗口中显示“Hello World”字样,然后用Qt Creator编译程序生成窗口。我们暂时不用菜单栏和状态栏,先把它们去掉,然后按照刚刚总结的五个步骤,我们操作如下动图所示:

我放置了一个Label控件,设置Label的文本属性为“Hello World”,水平对齐为中心对齐,然后点击窗口,即选中窗口,接着点击工具栏中的“水平布局”,就将Label填充到了窗口中,当你拉伸窗口进行窗口缩放时,“Hello World”始终在窗口中心。设计完界面之后(一定记得保存),再切换到Qt Creator直接运行程序,等待编译完成运行,显示如下窗口:

到此,使用Qt Designer进行界面设计的流程就完成了。接下来我们再用Qt Designer布置出上一章用代码直接编写的三个控件水平布局的界面,运行程序后窗口如下图所示:

这里有个很重要的技巧,就是设置Layout的属性,水平布局的属性有以下几种:

如上图所示,layoutName是水平布局的变量名,这个变量名可以在代码中直接使用,代表了这个水平布局控件;layoutLeftMargin、layoutTopMargin、layoutRightMargin、layoutBottomMargin四个属性为水平布局中的控件距离边界的大小;layoutSpacing为水平布局中的控件之间的距离;layoutStretch为水平布局中给每个控件从左到右分配的空间比例;layoutSizeConstraint为水平布局的空间大小约束规则。接下来我们将layoutStretch属性设置为1,3,6,看看界面的效果,如下:

当你缩放窗口的时候你会发现,窗口中的三个控件所占的空间比例是按照我们设定的1:3:6分配的。这个技巧将会大大优化你的界面,使布局更加地合理。

有了上面的这些技能,我们就可以自由发挥,将界面布置得复杂一些。下面是我设计的一个简易的加法器,运行后的窗口如下:

3.总结

本章使用Qt Designer进行界面设计,讲解了控件拖拽,然后进行了水平布局,最后设计了一个相对来说复杂些的“简易加法器”。下一章我们以这个“简易加法器”为例学习如何编程使用控件,实现界面中输入加数后,点击“计算”按钮,得出结果并显示出来。

Qt使用Qt Designer进行界面设计相关推荐

  1. Linux Qt Designer UI界面设计

    Linux Qt Designer UI界面设计 设计步骤 设计步骤 1.首先在Qt Designer上绘制好自己的图像化界面. 2.编写代码,将控件和功能匹配起来即可,代码如下.注意换到不同主机时, ...

  2. C++/QT 贪吃蛇小游戏 界面设计

    C++/QT 贪吃蛇小游戏 界面设计 前言:本文所写的贪吃蛇是笔者初学QT练手的小项目,做出来的界面较为粗糙.由于很久没有接触C++,程序中类封装的不是很规范.写这篇文章,权当是记录生活了,手动狗头. ...

  3. 【2022/8/27】Qt自制C语言IDE——界面设计

    [2022/8/27]Qt自制C语言IDE--界面设计 整体思路 技术问题 添加资源文件之后无法显示 Tab Widget 的Tab的样式无法通过UI设计界面调节 UI设计界面里面调整Layout中各 ...

  4. 使用java和qt开发远程控制系统-主界面设计

    首界面效果如图 界面就比较简单,拖拉几个控件,设置一下样式ok,不得不说QT这个QSS弄的还是可以,虽然明显是抄袭CSS,语法基本一样,但就是香,比微软那MFC好用太多了. 整个界面还增加了一个标题栏 ...

  5. Qt实践录:一些界面设计的记录示例

    本文主要记录使用 Qt 实现某一些小功能的示例. 控件特定条件下显示 有些场合,需要隐藏界面某些功能,面向特定人员使用,如一些维护升级工具,面向现场支持人员和面向开发人员,所用之功能不同,但又不想同时 ...

  6. ROS项目开发实战(三)——使用QT进行ROS的GUI界面设计(详细教程附代码!!!)

    序 本篇博客主要介绍怎么使用qt对ros进行gui设计与调试,包括使用列表视图显示ROS话题发布与接收的消息,点击QT按钮按钮进行ros消息的发布. 在阅读本文之前没有安装QT与配置环境可以参考博文: ...

  7. QT图形对象:常规界面设计

    一.窗口构思 通过设计一个简单界面,实现相关界面的基本操作函数.基本界面布局,左边是卷帘窗按钮工具箱,右边是图像显示界面. 对于此项目如何实现,请看下列阐述. 左侧工具箱设计 如下图,在容器tooBo ...

  8. 基于QT简易智能家居系统界面设计

    简易版智能家居系统界面,登录窗口.控制面板.及两者间的逻辑关系 请点击:相关代码 设计登录界面 这里采用ui绘制+信号槽函数实现逻辑功能,绘制方面用到Label.Widge.Line Edit.Pus ...

  9. 【2022/9/4】Qt自制C语言IDE——界面设计2

    成果展示 本来想每天写一点的,后来发现每天睡觉都来不及,所以那些日更的博主是真的瑞思拜. 我的任务主要就是界面,这段时间的成果就直接看对比图吧. 之前: 之后: 我觉得还行,符合我的基本审美标准,下面 ...

最新文章

  1. cuSPARSELt开发NVIDIA Ampere结构化稀疏性
  2. html5自适应团购,基于HTML5的O2O团购平台的设计与实现
  3. 遍历Repeater与ItemDataBound事件发现的几个问题。
  4. 【错误记录】SeeMusic 内存错误 ( 内存占用率 100 % | 清除系统设置信息 )
  5. 图解Redis之数据结构篇——压缩列表
  6. import java.util.calendar_Java.util.Calendar.setTimeInMillis()
  7. Python学习三——列表
  8. go使用grpc实现异步_(python、go)基于ETCD的gRPC分布式服务器实现详解
  9. 递归法实现库函数strlen
  10. 并行开发 —— 第三篇 plinq的使用
  11. 微信开发同步微信服务器图片到本地,逻辑处理。
  12. 他毕业两年,博客一年,时间
  13. AliOS Things 维测典型案例分析 —— 内存泄漏
  14. thinkphp5 return 返回空_网红饮品大杯约1/3是空的!店员:这是公司设计的中空隔冷层...
  15. javascript数据结构之队列
  16. 我的大数据之路--2019拉钩网爬取(破解反爬虫)
  17. TSL协议及抓包分析
  18. 创建windows虚拟机详细教程
  19. 【数学建模】2022亚太赛A题 结晶器熔炼结晶过程序列图像特征提取与建模分析
  20. 常用颜色RGB、灰度值

热门文章

  1. Python实现OSM地图数据解析——Pydriosm
  2. 应急响应 - Webshell 处理 15
  3. 【转载】张正友标定法翻译
  4. 返校了,新学年开始了~~
  5. mysql int字段 被转成Long问题解决
  6. 6603游戏列表添加自定义页面
  7. mysql 和 =_MySQL 基本语法
  8. 优炫软件连续五年入选“北京软件和信息服务业综合实力前百家企业”
  9. 基于javaEE的图书管理系统
  10. 微信开发者工具下载安装