Qt第六十五章:自定义菜单栏的隐藏、弹出
目录
一、效果图
二、qtDesigner
三、ui文件如下:
四、代码
一、效果图

二、qtDesigner
原理是利用属性动画来控制QFrame的minimumWidth属性。
①先拖出相应的控件

②布局一下
③填上一些样式

相关QSS
background-color: rgb(238, 242, 255);
border:2px solid rgb(255, 255, 255);
border-radius:15px
QFrame{
background-color: qradialgradient(cx:0, cy:0, radius:1, fx:0.1, fy:0.1, stop:0 rgb(243, 175, 189), stop:1 rgb(155, 118, 218));
border-top-left-radius:30px;
border-top-right-radius:0px;
border-bottom-right-radius:0px;
border-bottom-left-radius:30px;
}
三、ui文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"><class>Form</class><widget class="QWidget" name="Form"><property name="geometry"><rect><x>0</x><y>0</y><width>400</width><height>300</height></rect></property><property name="windowTitle"><string>Form</string></property><layout class="QVBoxLayout" name="verticalLayout"><item><widget class="QPushButton" name="pushButton"><property name="text"><string>PushButton</string></property></widget></item><item><widget class="QFrame" name="frame"><property name="frameShape"><enum>QFrame::StyledPanel</enum></property><property name="frameShadow"><enum>QFrame::Raised</enum></property><layout class="QHBoxLayout" name="horizontalLayout"><item><widget class="QSplitter" name="splitter"><property name="orientation"><enum>Qt::Horizontal</enum></property><widget class="QLabel" name="label"><property name="styleSheet"><string notr="true">background-color: rgb(238, 242, 255);
border:2px solid rgb(255, 255, 255);
border-radius:15px</string></property><property name="text"><string>TextLabel</string></property></widget><widget class="QLabel" name="label_2"><property name="styleSheet"><string notr="true">background-color: rgb(238, 242, 255);
border:2px solid rgb(255, 255, 255);
border-radius:15px</string></property><property name="text"><string>TextLabel</string></property></widget></widget></item><item><widget class="QFrame" name="frame_2"><property name="maximumSize"><size><width>0</width><height>16777215</height></size></property><property name="styleSheet"><string notr="true">QFrame{
background-color: qradialgradient(cx:0, cy:0, radius:1, fx:0.1, fy:0.1, stop:0 rgb(243, 175, 189), stop:1 rgb(155, 118, 218));
border-top-left-radius:30px;
border-top-right-radius:0px;
border-bottom-right-radius:0px;
border-bottom-left-radius:30px;
}</string></property><property name="frameShape"><enum>QFrame::StyledPanel</enum></property><property name="frameShadow"><enum>QFrame::Raised</enum></property></widget></item></layout></widget></item></layout></widget><resources/><connections/>
</ui>
四、代码
使用uic工具将ui文件转成py文件
import sysfrom PySide6.QtCore import QPropertyAnimation, QEasingCurve, QParallelAnimationGroup
from PySide6.QtWidgets import *from zzz.ui_home_03 import Ui_Form# 继承UI类
class MainWindow(QWidget, Ui_Form):def __init__(self, parent=None):super(MainWindow, self).__init__(parent)self.setupUi(self)self.pushButton.clicked.connect(self.settingBox)def settingBox(self):widthRightBox = self.frame_2.width()maxExtend = 100standard = 0if widthRightBox == 0:widthExtended = maxExtendelse:widthExtended = standard# 创建属性动画self.right_box = QPropertyAnimation(self.frame_2, b"minimumWidth")self.right_box.setDuration(500)self.right_box.setStartValue(widthRightBox)self.right_box.setEndValue(widthExtended)self.right_box.setEasingCurve(QEasingCurve.InOutQuart)self.right_box.start()# 动画组 如果是多个动画同时执行,则创建动画组。# self.group = QParallelAnimationGroup()# self.group.addAnimation(self.right_box)# self.group.start()if __name__ == '__main__':app = QApplication()window = MainWindow()window.show()sys.exit(app.exec())
相关文章:
Qt第六十五章:自定义菜单栏的隐藏、弹出
目录 一、效果图 二、qtDesigner 三、ui文件如下: 四、代码 一、效果图 二、qtDesigner 原理是利用属性动画来控制QFrame的minimumWidth属性。 ①先拖出相应的控件 ②布局一下 ③填上一些样式 相关QSS background-color: rgb(238, 242, 255); border:2px sol…...
element table中嵌套el-select 无法选择问题
<el-table-column align"left" label"姓名" show-overflow-tooltip :key"tableKey"><template slot-scope"scope"><el-select placeholder"请选择" :disabled"!saveButton" v-model"scope.ro…...
2.6.C++项目:网络版五子棋对战之数据管理模块-游戏房间管理模块的设计
文章目录 一、意义二、功能三、作用四、游戏房间类基本框架五、游戏房间管理类基本框架七、游戏房间类代码八、游戏房间管理类代码 一、意义 对匹配成功的玩家创建房间,建立起一个小范围的玩家之间的关联关系! 房间里一个玩家产生的动作将会广播给房间里…...
计算机视觉中的数据预处理与模型训练技巧总结
计算机视觉主要问题有图像分类、目标检测和图像分割等。针对图像分类任务,提升准确率的方法路线有两条,一个是模型的修改,另一个是各种数据处理和训练的技巧(tricks)。图像分类中的各种技巧对于目标检测、图像分割等任务也有很好的作用&#…...
GeoHash分享
写在前边 复制的一个内部分享,所以可能更偏向PPT性质,本文提出的问题,在末尾参考材料中都会有所提及,包括更深层次的实现原理和各大API对于GeoHash的优化。感兴趣的读者可以拓展看一下。 START GeoHash是一种地址编码ÿ…...
【超详细】CentOS 7安装MySQL 5.7【安装及密码配置、字符集配置、远程连接配置】
准备工作:CentOS 7系统,并确保可以联通网络 1、获取MySQL 5.7 Community Repository软件包 注意:这里使用的是root用户身份。 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm2、安装软件包 rpm -ivh mysql5…...
Elasticsearch 8.X 分词插件版本更新不及时解决方案
1、关于 Elasticsearch 8.X IK 分词插件相关问题 球友在 ElasticSearch 版本选型问题中提及:如果要使用ik插件,是不是就使用目前最新的IK对应elasticsearch的版本“8.8.2”? https://github.com/medcl/elasticsearch-analysis-ik/releases/ta…...
Delete `␍`eslintprettier/prettier
将CRLF改为LF 然后就消失了 除此之外,也可以修改git全局配置 git config --global core.autocrlf false...
4种实用的制作URL 文件的方法
很多小伙伴有自己的博客、淘宝或者共享文件网站,想要分享、推广自己的网址做成url文件,让别人点击这个url文件直接访问自己的网站。URL文件其实就一个超级链接,制作的方法很多,这里列举4种。 收藏网站直接拖拽 1.第一种…...
css总结
记录做项目经常会写到的css 1、左边导航栏固定,右边div占满剩余宽度 <template><div class"entrance"><div class"left"></div><div class"right"><div class"content"></div>…...
[C语言]排序的大乱炖——喵喵的成长记
宝子,你不点个赞吗?不评个论吗?不收个藏吗? 最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要…...
Docker 网络与Cgroup资源限制
目录 一、Docker 网络实现原理: 二、Docker 的网络模式: 三、网络模式详解: 1. host模式: 2. container模式: 3. none模式: 4.bridge模式: 5.自定义网络: 四、Cgroup资源控制: …...
D - United We Stand
思路: (1)题目要求将集合A划分为B,C两组,使得C中任意数都不是B中的除数 (2)直观感受,只要让C中数比B中大,则满足条件,不妨只取最大的放入C中; …...
【1.总纲】
目录 知识框架No.0 总纲安排No.1课程安排一、目标二、内容三、 学到 No.2 深度学习介绍一、AI地图二、图片分类三、物体检测和分割四、样式迁移五、人脸合成六、文字生成图片七、文字生成-GPT八、无人驾驶九、广告点击 No.3 安装No.3 安装 知识框架 No.0 总纲安排 B站网址&…...
I/O模型之非阻塞IO
简介 五种IO模型 阻塞IO 非阻塞IO 信号驱动IO IO多路转接 异步IO 代码书写 非阻塞IO 再次理解IO 什么是IO?什么是高效的IO? 为了理解后面的一个问题,我们首先要再重新理解一下什么是IO 在之前的网络介绍中ÿ…...
2023版 STM32实战11 SPI总线读写W25Q
SPI全称 英文全称:Serial peripheral Interface 串行外设接口 SPI特点 -1- 串行(逐bit传输) -2- 同步(共用时钟线) -3- 全双工(收发可同时进行) -4- 通信只能由主机发起(一主,多从机) 开发使用习惯和理解 -1- CS片选一般配置为软件控制 -2- 片选低电平有效,从…...
Spring Security认证源码解析(示意图)
建议先看完Spring Security总体架构介绍和Spring Security认证架构介绍,然后从FilterChainProxy的doFilterInternal函数开始,配合文章进行debug以理解Spring Security认证源码的执行流程。 在之前的Spring Security认证架构介绍中,我们已经知…...
2023.10.22 关于 定时器(Timer) 详解
目录 引言 标准库定时器使用 自己实现定时器的代码 模拟实现的两大方面 核心思路 重点理解 自己实现的定时器代码最终代码版本 引言 定时器用于在 预定的时间间隔之后 执行特定的任务或操作 实例理解: 在服务器开发中,客户端向服务器发送请求&#…...
【STM32】GPIO控制LED(寄存器版)
在开始之前记得先准备好环境: STM32F103核心板下载教程.pdf 林何/STM32F103C8 - 码云 - 开源中国 (gitee.com) 一、STM32的GPIO模块数据手册详解 每个GPIO端口对应16个引脚,例GPIOA(PA0~PA15)内核cpu就可以通过APB2总线对寄存器…...
Spring Boot OAuth 2.0整合—高级配置
一、概述 HttpSecurity.oauth2Login() 为定制OAuth 2.0登录提供了大量的配置选项。主要的配置选项被分组到它们的协议端点对应处。 例如,oauth2Login().authorizationEndpoint() 允许配置授权端点,而 oauth2Login().tokenEndpoint() 允许配置令牌端点。…...
OpenCV踩坑记:为什么cv2.imread读‘坏图’不返回None?深度解析JPEG文件结构与解码陷阱
OpenCV图像读取陷阱:JPEG文件损坏时cv2.imread为何不返回None? 在计算机视觉项目开发中,处理JPEG图像时经常会遇到这样的场景:明明系统提示"Premature end of JPEG file"警告,但cv2.imread()却依然返回了一个…...
山西太原传媒艺考评价榜第 1 名
在山西太原,艺天影视培训学校凭借其卓越的教学质量和丰富的行业资源,连续多年稳居传媒艺考评价榜榜首。本文将从师资力量、教学体系、硬件设施以及升学成果四个方面,详细解读艺天影视培训学校的成功之道,并为有志于传媒艺术的学子…...
问题描述:Registry 中存储的镜像数量过多,占用了大量磁盘空间,最终导致磁盘使用率达到 100%,造成服务异常(如无法推送新镜像、拉取镜像超时等)。
解决方案代码逻辑:查询待清理镜像:从数据库获取所有已标记为软删除(is_deleted 1)且创建时间超过指定天数的镜像记录,生成待清理清单。安全检查:对于每个待清理镜像,通过 Registry API 获取其 …...
FPN实战:用PyTorch从零搭建特征金字塔网络(附代码)
FPN实战:用PyTorch从零搭建特征金字塔网络(附代码) 在计算机视觉领域,处理多尺度目标检测一直是个棘手的问题。想象一下,当你需要同时识别图像中近处的大象和远处的小鸟时,传统卷积神经网络往往会顾此失彼—…...
2026就业新风口:AI、新能源、半导体领跑高薪时代,掌握这些技能让你年薪百万!
2026年中国就业市场呈现新质产业领跑、高薪向技术岗集中、城市梯度分化明显的核心特征,AI、新能源、半导体等赛道爆发式增长,一线城市依旧是高薪高地,新一线城市则凭借产业优势快速追赶。与此同时,AI已成为职场核心竞争力…...
ZYNQ PS端FFT加速实战:在Xilinx SDK中集成CMSIS-DSP库
1. 为什么要在ZYNQ PS端实现FFT加速? 在嵌入式信号处理领域,快速傅里叶变换(FFT)是最基础也是最关键的算法之一。很多工程师第一次接触ZYNQ平台时,往往会优先考虑使用PL端的FFT IP核来实现加速。但实际项目中ÿ…...
Python 批量导出数据库数据至 Excel 文件页
简介 langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。 环境配置 安装langchain框架 pip install langchain langchain-community 其中…...
第三章:面向对象编程
第三章:面向对象编程 【免费下载链接】wereader 一个浏览器扩展:主要用于微信读书做笔记,对常使用 Markdown 做笔记的读者比较有帮助。 项目地址: https://gitcode.com/gh_mirrors/wer/wereader 3.1 类与对象 面向对象编程的核心是类和…...
解锁商场流量密码:一次地贴定制如何让我的活动效果翻倍?
在商场运营与活动营销中,流量获取与转化始终是核心痛点——高空广告成本高、受众触达不精准,传统海报易被忽略,线上引流又面临流量碎片化、转化链路长的困境。而商场地贴作为一种低成本、高触达、强引导的户外广告物料,往往被多数…...
实时行情系统设计:从协议选择到高可用架构,再到数据源选型蘸
一、核心问题及解决方案(按踩坑频率排序) 问题 1:误删他人持有锁——最基础也最易犯的漏洞 成因:释放锁时未做身份校验,直接执行 DEL 命令删除键。典型场景:服务 A 持有锁后,业务逻辑耗时超过锁…...
