【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实现鼠标拖动调整窗口大小》+基础样例】相关推荐

  1. Qt——鼠标拖动调整窗口大小

    要求:鼠标移到界面边角时,鼠标样式相应地发生改变. 实现方法一: 重写mouseMoveEvent,如果鼠标没有按下,则根据鼠标在界面上的位置设置鼠标样式,如果鼠标按下,则根据位置判断该怎样调整界面大 ...

  2. Qt在win10自定义标题栏,应用主题颜色到标题栏

    Qt在win10自定义标题栏,应用主题颜色到标题栏 前言 先看效果 关键点 QtWin 注册表获取是否应用了颜色到标题栏 代码 头文件:captionwidget.h 源文件:captionwidge ...

  3. 关于 Q3DScatter嵌套进设置了Qt::FramelessWindowHint(触摸自定义标题栏)时进行演示时出现渲染黑色区域 的解决方法

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/129531966 红胖子(红模仿)的博文大全:开发技术集 ...

  4. 前端学习——HTML的各种标签(以及代码样例)

    html标题head标签:快捷键h+8(快捷键中的数字键是大键盘上的数字键,不是小键盘的) 1:打开网页出现乱码时,在head标签中加<meta charset="utf-8" ...

  5. Qt第二十七章:QWidget、QMainWindow无边框自定义标题栏并自由移动、缩放、圆角

    前提:UI必須采用自适应布局.  自定义组件[直接CV]custom_components.py # 自定义组件 """ QCustomTitleBar:自定义标题 QW ...

  6. qt开发linux界面软件,利用Qt Designer开发Qt界面

    因为这篇文章主要是告诉大家如何利用QT Design来达到快速学习QT的.,所以您最也要做到:您需要有一台可以跑Linux的电脑或者Microsoft Windows的电脑足够的RAM和HardDis ...

  7. 【QT开发笔记-基础篇】| 第一章 QT入门 | 1.1 为什么要学习Qt

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1334y1776z Qt 是一个跨平台的 C++ 图形用户界面应用程序框架 Qt 为应用程序开发 ...

  8. Qt 自定义标题栏,最小化、最大化、关闭窗口,双击最大化,鼠标拖动等效果实现

    文章目录 前言 效果 代码 .pro文件 widget.h widget.cpp widget.ui title.h title.cpp title.ui 前言 本次实验内容为Qt自定义标题栏,最小化 ...

  9. Qt实战案例(42)——利用Qt实现自定义标题栏功能(自定义最大化、最小化、关闭等功能)

    目录 一.项目介绍(为什么要自自定义标题栏功能) 二.项目基本配置 三.UI界面设计 四.主程序实现 4.1 隐藏边框 4.2 设置最大化(还原),最小化,关闭按钮的样式风格 4.3 关闭按钮的实现 ...

最新文章

  1. 桌面支持--ZWMECH软件卸载工具
  2. spark rdd reduceByKey示例
  3. 【笔记】css 自定义select 元素的箭头样式
  4. php ajax 分页phpapi,ajax分页_php ajax分页代码
  5. webdriver 执行完毕关闭chromedriver进程
  6. 实现CSS在线美化(格式化)、压缩、加密、解密、混淆工具-toolfk程序员工具网
  7. win11提示无法在此配置怎么办 Windows11提示无法在此配置的解决方法
  8. 测试u盘容量的软件哪家好,U盘容量检测工具
  9. 基于SAML2.0单点登录的实现(JAVA)
  10. 4r照片尺寸是多大_4r照片尺寸(正常照片是5寸还是6寸)
  11. 微前端框架 之 qiankun
  12. 菜鸟教程出app了!青结
  13. Java语言基础(常见对象3(数组排序(冒泡排序、选择排序、直接插入排序、快速排序、归并排序)、Arrays、基本数据类型包装类、Integer类、自动拆箱、自动装箱))
  14. Android gatekeeper的原理介绍和代码导读
  15. 解决Android Studio 安装APK时device support,but apk only supports armeabi-v7 问题
  16. 量化交易存在哪些缺陷?
  17. 当使用maven的clear功能导致数据库链接出现Using a password on the command line interface can be insecure.的解决方案
  18. 为什么数组名取地址和数组名的取值一样
  19. ker矩阵是什么意思_如何理解CAN通信矩阵
  20. 支付宝手机网站支付示例

热门文章

  1. 从免费共享经济到知识付费系统,都是如何抓住时代风口的
  2. 第6章 系统数据文件和信息
  3. Android之ScrollBar
  4. android中倒计时动画,Android实现倒计时效果
  5. 通俗易懂的讲解信号与系统
  6. Meta-Learning之How to train your MAML
  7. 如何设计游戏中道具功能(一)
  8. 手把手撸一个小而美的日历组件
  9. android 仿飞猪日历,vue 日期选择 类似飞猪
  10. html 在框架里弹出页面,iframe弹出新窗口 iframe页面打开新窗口问题