【QT 5 设置自定义标题栏+学习:《QT实现鼠标拖动调整窗口大小》+基础样例】
【QT 5 设置自定义标题栏+学习:《QT实现鼠标拖动调整窗口大小》+基础样例】
- 1、说明
- 2、实验环境
- 3、实验目的
- 4、参考文章
- 5、实验步骤
- (1)下载代码,运行没有错误。
- (2)加入资源文件
- (3)加入自定义标题栏以及相关控件内容
- (4)控件设置相关图片
- (5)加入删除标题栏代码,运行查看效果![在这里插入图片描述](https://img-blog.csdnimg.cn/c2dbf2c5b0be4ab6aaa15edc9befbfe3.png)
- (6)加入鼠标拖动代码,运行查看效果
- (7)运行对比效果
- 6、代码链接
- 7、细节点
- (1)不设置背景颜色,图片无显示。
- (2)找不到函数>>>函数名拼写错误>>导致找到
- (3)说有个隐藏函数类似警告。
- 8、总结
1、说明
最近查找qt相关资料,想要设置一个自定义标题栏,由于自己也是一个初学者,很多其实也不会,在网上看到这篇文章,觉得讲的还可以,就是没有源码,并且在手敲代码的时候,敲错了,没运行起来,很苦恼。
2、实验环境
实验环境还是挺重要的,因为有时候,在你电脑上能运行的东西,在别人的电脑就不一定能运行,这一部分的原因就可能是实验版本不一样。
系统环境:window环境
QT软件版本:qt 5.14.2
3、实验目的
本次实验:
(1)一个是学习他人代码,这部分作为学习,准备直接复制,最后提供代码。
(2)另一个部分是增加一个自己定义标题栏,使其看起来像标题栏还在。
目前查找网上的一些资料,一般去掉标题栏,然后自己弄个,所以我们需要考虑标题栏为我们提供那些功能,自己总结,主要提供以下3个功能。
(1)显示软件名字,显示“最小化”,"最大化‘和“关闭软件”功能键。
(2)鼠标点击边框,缩放调整窗口大小。
(3)点击标题栏,可以拖着窗口软件移动位置。
以上3点,是去掉标题栏后,我们其实需要考虑实现的功能。
那么其实可以对比下,去掉和不去掉标题栏的优缺点吧:
(1)去掉的好处,就是你可以自己定义标题栏,说白了,就是好看。不去掉,就是不太好看些。
(2)去掉的坏处,就是你需要自主实现标题栏功能,要不人们用起来,总觉得怪怪的。
4、参考文章
首先感谢参考文章,本着学习角度,并且为那篇文章增加一份源码吧。
参考文章:https://blog.csdn.net/weixin_40222745/article/details/82142333
当然我肯定也要加入自己的一些东西,就这弄个自定义标题栏,看起来像那么回事,当然我也不可能零起步,使用之前样例改写。
先行文章:【QT 5 调试软件+串口相关初试串口+基础样例】
直接将代qt码链接放在这里:https://download.csdn.net/download/qq_22146161/86722251
5、实验步骤
(1)下载代码,运行没有错误。
这步就不过多说了,下载代码编译,运行,没有什么问题的话,你运行效果,应该如下所示。
(2)加入资源文件
当初作为初学者,我真的是连加入资源文件都不会,生怕点错,所以本次,我尽量说细一些,当然,明白的话,可以跳过。
(1)文件上右点击,增加新文件“Add new”
(2)点击QT>>>QT 资源文件 然后点击choose
(3)起个名字,就叫“res”吧,然后点击 “下一步”
(4)点击完成
(5)然后文件上会多个资源文件,点击它>>>Add Prefix>>>目录>>>Add Files
(6)新建文件夹,叫“res”
进入后,将需要添加的资源文件复制,放在这个文件下,有需要直接在代码里取。
选好文件后,我们会看如下图,点击“YES”。
如此资源文件就添加完成了
(3)加入自定义标题栏以及相关控件内容
然后我们在widget.ui文件内添加相关控件。
(1)加入widget,在widget内加入一个label控件,并且改变widget布局。
(2)增加3个按键控件,弹簧,与修改label名称。
(4)控件设置相关图片
(1)给按键增加图标背景。
(2)选中图标文件
(3)删除文字
(6)三个按键依次设置图片
(7)给最外层设置背景色,否则图标不显示出来。
(5)加入删除标题栏代码,运行查看效果
效果如下。
(6)加入鼠标拖动代码,运行查看效果
(7)运行对比效果
我们来对比下,有和没有标题栏效果,效果还是不一样的。
没有标题栏
6、代码链接
实验代码链接:https://download.csdn.net/download/qq_22146161/86826255
7、细节点
(1)不设置背景颜色,图片无显示。
其中有一步我们设置了一下背景颜色,在调试的时候,发现不设置,默认的话,图片是不显示。
(2)找不到函数>>>函数名拼写错误>>导致找到
自己本着学习的角度,手敲了一般,没想到敲错了,导致报错,我以为这个函数是默认的,卡了好一会,这个错在自己。
(3)说有个隐藏函数类似警告。
这个也是拼写错误
8、总结
作为基本样例,它仍有很多要改善地方,可能不是在这篇里写的,有更好的方式,也会后续弄。
【QT 5 设置自定义标题栏+学习:《QT实现鼠标拖动调整窗口大小》+基础样例】相关推荐
- Qt——鼠标拖动调整窗口大小
要求:鼠标移到界面边角时,鼠标样式相应地发生改变. 实现方法一: 重写mouseMoveEvent,如果鼠标没有按下,则根据鼠标在界面上的位置设置鼠标样式,如果鼠标按下,则根据位置判断该怎样调整界面大 ...
- Qt在win10自定义标题栏,应用主题颜色到标题栏
Qt在win10自定义标题栏,应用主题颜色到标题栏 前言 先看效果 关键点 QtWin 注册表获取是否应用了颜色到标题栏 代码 头文件:captionwidget.h 源文件:captionwidge ...
- 关于 Q3DScatter嵌套进设置了Qt::FramelessWindowHint(触摸自定义标题栏)时进行演示时出现渲染黑色区域 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/129531966 红胖子(红模仿)的博文大全:开发技术集 ...
- 前端学习——HTML的各种标签(以及代码样例)
html标题head标签:快捷键h+8(快捷键中的数字键是大键盘上的数字键,不是小键盘的) 1:打开网页出现乱码时,在head标签中加<meta charset="utf-8" ...
- Qt第二十七章:QWidget、QMainWindow无边框自定义标题栏并自由移动、缩放、圆角
前提:UI必須采用自适应布局. 自定义组件[直接CV]custom_components.py # 自定义组件 """ QCustomTitleBar:自定义标题 QW ...
- qt开发linux界面软件,利用Qt Designer开发Qt界面
因为这篇文章主要是告诉大家如何利用QT Design来达到快速学习QT的.,所以您最也要做到:您需要有一台可以跑Linux的电脑或者Microsoft Windows的电脑足够的RAM和HardDis ...
- 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.1 为什么要学习Qt
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1334y1776z Qt 是一个跨平台的 C++ 图形用户界面应用程序框架 Qt 为应用程序开发 ...
- Qt 自定义标题栏,最小化、最大化、关闭窗口,双击最大化,鼠标拖动等效果实现
文章目录 前言 效果 代码 .pro文件 widget.h widget.cpp widget.ui title.h title.cpp title.ui 前言 本次实验内容为Qt自定义标题栏,最小化 ...
- Qt实战案例(42)——利用Qt实现自定义标题栏功能(自定义最大化、最小化、关闭等功能)
目录 一.项目介绍(为什么要自自定义标题栏功能) 二.项目基本配置 三.UI界面设计 四.主程序实现 4.1 隐藏边框 4.2 设置最大化(还原),最小化,关闭按钮的样式风格 4.3 关闭按钮的实现 ...
最新文章
- 桌面支持--ZWMECH软件卸载工具
- spark rdd reduceByKey示例
- 【笔记】css 自定义select 元素的箭头样式
- php ajax 分页phpapi,ajax分页_php ajax分页代码
- webdriver 执行完毕关闭chromedriver进程
- 实现CSS在线美化(格式化)、压缩、加密、解密、混淆工具-toolfk程序员工具网
- win11提示无法在此配置怎么办 Windows11提示无法在此配置的解决方法
- 测试u盘容量的软件哪家好,U盘容量检测工具
- 基于SAML2.0单点登录的实现(JAVA)
- 4r照片尺寸是多大_4r照片尺寸(正常照片是5寸还是6寸)
- 微前端框架 之 qiankun
- 菜鸟教程出app了!青结
- Java语言基础(常见对象3(数组排序(冒泡排序、选择排序、直接插入排序、快速排序、归并排序)、Arrays、基本数据类型包装类、Integer类、自动拆箱、自动装箱))
- Android gatekeeper的原理介绍和代码导读
- 解决Android Studio 安装APK时device support,but apk only supports armeabi-v7 问题
- 量化交易存在哪些缺陷?
- 当使用maven的clear功能导致数据库链接出现Using a password on the command line interface can be insecure.的解决方案
- 为什么数组名取地址和数组名的取值一样
- ker矩阵是什么意思_如何理解CAN通信矩阵
- 支付宝手机网站支付示例