Qt5.9 UI设计(三)——添加UI、类及资源文件
前言
设计一个软件,最简单的方式就是把控件直接往UI上放,然后再把功能实现了。这样可以实现基本的功能,但是界面不能缩放,如果拖动软件改变界面的大小,界面上的控件就会乱成一团,或者是界面的控件压根就不会跟着界面的大小进行改变。
要使界面上的所有控件都随着界面的变化而变化,做到自适应,这就需要使用到界面布局功能。
下面介绍一个多界面UI的设计过程。它的最终效果如下:

(一)创建主界面
创建MainWindow主界面,在上一章中已经有介绍过。这里在添加三个界面: MainTitleBar ControlTabWidget ControlTreeWidget 三个UI,然后再将这三个UI布局到MainWindow界面上。
添加新UI文件

选择界面模板为widget

设置类名MainTitleBar,同时将文件放置到titlebar目录(该目录自己创建)

将该界面添加到项目中

QT自动创建一个maintitlebar命名的UI,cpp 和h文件,并且放置到了指定的目录

同样的方式创建
ControlTabWidget和ControlTreeWidget放置到maincontent目录

(二)添加资源文件
在UI界面设计的时候,我们有时候会使用到图片,字体还有一些其他的资源,我们可以通过添加资源的方式将他们添加到项目中,在使用的时候就可以直接使用。
将资源文件复制到工程目录res目录下:

添加Resource File

设置位置,这里设置res

将资源文件添加到工程

添加资源文件

加载需要使用到的图片资料

(三)添加类文件
如果只需要添加一个类文件,但是不需要添加UI界面,可以这么实现。下面在titlebar目录下添加一个TitleBar类
添加C++ class

设置类名字及放置目录

添加到工程里

QtCreator 自动将文件添加到了指定的目录

总结
本章演示了资源文件的添加,C++ 类的添加以及UI界面的添加。这里我们总共已经有 mainwindow ControlTabWidget ControlTreeWidget maintitlebar 4个UI界面。以及一些图片资源。
下一章演示将所有界面上的内容布局到 mainwindow 上,并且可以自适应窗口大小的变化。
工程文件名:page_sample_01.rar
完整工程下载地址,请到 liwen01 微信公众号中回复: QT 获取
---------------------------End---------------------------
长按识别二维码
关注 liwen01 公众号
Qt5.9 UI设计(三)——添加UI、类及资源文件的更多相关文章
- NeHe OpenGL教程 第三十八课:资源文件
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 好看的UI设计网站 www.ui.cn 和 插画网站 www.pixiv.net 千图网,界面很不错~
http://www.ui.cn/?t=share#project http://www.pixiv.net/ http://www.flaticon.com/ www.58pic.com 那张 给人 ...
- 添加ASP.NET网站资源文件夹
ASP.NET应用程序包含7个默认文件夹,分别为Bin.APP_Code.App_GlobalResources.App_LocalResources.App_WebReferences.App_Br ...
- 在javaweb中通过servlet类和普通类读取资源文件
javaweb有两种方式读取资源文件 在Servlet中读取,可以使用servletContext,servletContext可以拿到web所有的资源文件,然后随便读,但是这种方法不常用,尽量少在S ...
- Android 添加shape, selector等资源文件
右键点击drawable文件夹,选择new -> Drawable Resource file 在弹出的New Resource file界面中,将Root element定义为shape,就可 ...
- 使用Python库pyqt5制作TXT阅读器(一)-------UI设计
项目地址:https://github.com/pikeduo/TXTReader PyQt5中文手册:https://maicss.gitbook.io/pyqt-chinese-tutoral/p ...
- UI设计初学者如何避免走弯路?
对于初学UI设计的人而言,可能对UI具体是做什么,或者自己是否能顺利转行胜任这样的岗位存在一定的顾虑,今天我们就来重点说说UI是做什么的,以及想学UI到底要如何避免走弯路,快速的学成. 问题一:UI设 ...
- UI设计中的48dp定律【转】
有朋友建议我偶尔写写技术类的文章,所以我打算开始穿插性的写一些偏技术方面的科普文章,尽量往小白能看懂的方向写,今天我来讲讲UI设计中的48dp定律. 那么先说说什么是dp ?其实对于一个非技术人员要把 ...
- GUI设计和UI设计有什么区别?
首先从技术的角度分析两者处于包含与被包含的关系. GUI=Graphical User Interface,是指在计算机出现后,在屏幕上使用图形界面来帮助(User)与机器打交道用的界面接口,泛指在计 ...
- ui设计的好网站(转载)
设计师网址导航 http://hao.uisdc.com/ 站酷 国外: Dribbble - Show and tell for designers.Behance 这两个网站就够了啊 ————— ...
随机推荐
- ElasticSearch之cat repositories API
命令样例如下: curl -X GET "https://localhost:9200/_cat/repositories?v=true&pretty" --cacert ...
- 通过数字证书对PDF电子文件进行数字签名/盖章
以下代码详细说明如何使用数字证书对PDF电子文件进行数字签名/盖章.PDF文件签署主要传递PDF文件,数字证书信息,签章图片3个信息.代码中需要的文件.数字证书.签章图片可访问开放签电子签章开源系统详 ...
- CUDA驱动深度学习发展 - 技术全解与实战
全面介绍CUDA与pytorch cuda实战 关注TechLead,分享AI全维度知识.作者拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云 ...
- Angular 实现分页器组件
很感谢 angular实现简单的pagination分页组件 - Amor丶Diamond - 博客园 (cnblogs.com) , 我根据这位博主代码做了修改, 增加了跳转和每页行数功能. 先看图 ...
- DevOps常用工具全家桶,实现高效运维和交付
DevOps常用工具全家桶,实现高效运维和交付 1.DevOps发展 DevOps发展背景: 随着互联网技术的快速发展,软件开发和运维的挑战也日益增加.传统的软件开发和运维模式往往存在分离.效率低下. ...
- nacos 系列:.net core 6.0 使用 nacos
目录 安装 Nuget 包 配置 appsettings.json 添加服务和配置 测试 官方示例:https://kgithub.com/nacos-group/nacos-sdk-csharp 安 ...
- LiteAI 四大杀手锏,解锁物联网智能设备AI开发难关
[摘要] IoT设备中嵌入AI能力实现产品的智能升级,已经是AIoT行业发展的重要通道,那怎样才能实现AIoT = AI + IoT呢?如何将AI模型塞到小小的IoT设备里,让它可以轻松运行起来呢?成 ...
- KubeEdge@MEC:Kubernetes容器生态与5G的结合
摘要:边缘计算技术快速发展,5G MEC边云协同成为最新的发展趋势. 前言 边缘计算技术快速发展,5G MEC进入商业部署快车道,边云协同成为MEC的普遍诉求,KubeEdge社区洞悉这一趋势,按照C ...
- DevCloud加持下的青软,让教育“智”上云端
摘要:构建多体系人才云实践环境,提供企业所需人才培养平台,构建以学习为中心的全新教育生态. 本文分享自华为云社区<[云享·伙伴]第5期:华为云DevCloud加持下的青软,让教育"智& ...
- 跟我学Python图像处理丨5种图像阈值化处理及算法对比
摘要:本篇文章主要讲解Python调用OpenCV实现图像阈值化处理操作,包括二进制阈值化.反二进制阈值化.截断阈值化.反阈值化为0.阈值化为0. 本文分享自华为云社区<[Python图像处理] ...