这是我们要仿制的样式,甚至你可以在这个界面中弄更漂亮的界面效果

源码和UI文件都会开放的

这是我们实现的效果,可以看到切换页面的同时按钮会有被选中的感觉,这是通过label去实现的

下面开始教程

        

 用QtDesign设计一个界面,包含四个按钮和stackedWidget, 后边还要弄个label,这里页面就弄两页就算了,然后给按钮绑定槽函数

 绑定好后生成UI文件后,转成py文件格式,当然你如果是PySide6可以直接生成py文件

 生成好的py文件

class Ui_MainWindow(QMainWindow):def __init__(self):super().__init__()self.setupUi(self)

初始化,这是写在同一个文件里边,我是不推荐这样做的一般界面和槽函数分开写,然后通过继承UI_MainWIndow来分开写,这个前几篇文章都是这样写的,有兴趣可以看看,由于我特别懒就写一块了。

if __name__ == "__main__":app = QApplication(sys.argv)window = Ui_MainWindow()window.show()sys.exit(app.exec_())

主入口,写完后再补充绑定的函数即可

    def ChangeTwo(self):self.stackedWidget.setCurrentIndex(0)

 这里0和1就是页面的页数切换,写完这里切换功能就完成了,要加上选中的效果就要用到我们的label了

self.label = QtWidgets.QLabel(self.centralwidget)self.label.setPixmap(QtGui.QPixmap("Text.png"))self.label.setGeometry(QtCore.QRect(0, 0, 691, 451))self.label.setScaledContents(True)self.label.setObjectName("label")

给label配上图片,要注意的是后边的setText要删掉不然就没图片了,图片和代码我会整合成一个压缩包。

最后通过修改label的位置按钮选中状态就完成了

    def ChangeOne(self):self.stackedWidget.setCurrentIndex(1)x = self.label.pos().x()y = self.label.pos().y()self.anim = QPropertyAnimation(self.label, b"geometry")self.anim.setDuration(100)self.anim.setStartValue(QRect(x, y, 3, 40))self.anim.setEndValue(QRect(42, 136, 3, 40))self.anim.start()

对应每个槽函数的位置填写对应的x,y就好了

 写完后可以看到Text3是有一个选中的效果,这只是对label移动其中一个例子而已,最后通过修改按钮的样式改成透明

self.pushButton_2.setStyleSheet("QPushButton{\n""    color:gray;\n""    border-radius: 4px;\n""    font: 9pt \"Microsoft YaHei\";\n""    background:transparent;\n""    border:1px;\n""    border-right: transparent;\n""}\n""QPushButton:pressed{\n""    background:rgb(169, 169, 169, 60);\n""}")

修改样式后就可以得到透明的效果

 这里的图片可以由自已决定

代码和图片就放Q群了954736632

 后边考完试会出一个PyDracula的教程,说实话这个抽屉弹出来的动画很好看,PyDracula的代码可以在GitHub和群下到

PyQt5实现侧面菜单栏-仿QQ设置--以及透明选中按钮效果(详细讲解)相关推荐

  1. 仿QQ设置头像(拍照/选择照片)

    仿QQ设置头像(拍照/选择照片) 这是一个很常见的需求,即选择照片作为头像或者拍照作为头像,实现起来不算太复杂,但是融合的知识点还是比较多的,这里记一下供以后回顾以及给有需要的人作为参考. 目前就是这 ...

  2. android自定义设置界面,Android开发之精仿QQ设置界面(自定义PreferenceActivity)

    Android开发之精仿QQ设置界面(自定义PreferenceActivity) 时间:2011-12-05 10:25:06 来源:Android开发者门户 作者: 今天,再给大家分享一下QQ设置 ...

  3. android 自定义园动画,Android 自定View实现仿QQ运动步数圆弧及动画效果

    在之前的Android超精准计步器开发-Dylan计步中的首页用到了一个自定义控件,和QQ运动的界面有点类似,还有动画效果,下面就来讲一下这个View是如何绘制的. 1.先看效果图 2.效果图分析 功 ...

  4. VC 仿QQ窗口靠边自动收缩隐藏效果

    一.观察 模仿前最重要的一步就是观察,经过半天对QQ的摆弄和摸索,总结出了以下一些特点: 1.窗口开始粘附时,检测的是鼠标坐标与桌面边界的距离,特别地,粘附在下面的时候,检测的是与任务栏的距离: 2. ...

  5. android气泡聊天消息背景,Android使用贝塞尔曲线仿QQ聊天消息气泡拖拽效果

    本文实例为大家分享了Android仿QQ聊天消息气泡拖拽效果展示的具体代码,供大家参考,具体内容如下 先画圆,都会吧.代码如下: public class Bezier extends View { ...

  6. iOS仿QQ侧滑菜单、登录按钮动画、仿斗鱼直播APP、城市选择器、自动布局等源码

    iOS精选源码 QQ侧滑菜单,右滑菜单,QQ展开菜单,QQ好友分组 image 登录按钮 image 3分钟快捷创建高性能轮播图 ScrollView嵌套ScrolloView(UITableView ...

  7. iOS仿QQ侧滑菜单、登录按钮动画、仿斗鱼直播APP、城市选择器、自动布局等源码...

    iOS精选源码 QQ侧滑菜单,右滑菜单,QQ展开菜单,QQ好友分组 登录按钮 3分钟快捷创建高性能轮播图 ScrollView嵌套ScrolloView(UITableView .UICollecti ...

  8. Android仿qq聊天记录长按删除功能效果

    最近项目在做IM即时通讯开发,在删除聊天列表的时候跟删除聊天详细信息的时候,产品经理想要跟ios一样,在当前选中行上方弹出一个删除窗口.于是先从网上找demo,找了一个发现是Dialog做的,我感觉没 ...

  9. 卷积神经网络中各个卷积层的设置及输出大小计算的详细讲解

    我将从以下几个方面来进行解说: 1.卷积神经网络的结构 2.卷积神经网络的计算 3.以AlexNet为例进行详细讲解 4.常见的两个卷积层设置的问题 1.卷积神经网络的结构 卷积神经网络(CNN)由输 ...

最新文章

  1. 解决了一个小问题 好像把逻辑有点复杂
  2. Statement和PraparedStatement区别
  3. getbean方法找不到bean_和平精英:一直找不到敌人?5个方法,让你彻底摆脱“瞎子”...
  4. Nuget发布Dll
  5. 《Python Cookbook 3rd》笔记(5.3):使用其他分隔符或行终止符打印
  6. 【CCF】201903-1小中大
  7. c++真的比java难吗_开课吧Java课程怎么样?开课吧的Java课程真的那么好吗?
  8. 8.给物体设置材质球
  9. 1061. Dating (20)-PAT甲级真题
  10. mysql gtid坑_数据库mysqldump的坑
  11. php 数据访问框架,PHP Ice框架数据库访问层- Ice Framework(PHP Web开发框架)
  12. SQL Server 2016安装教程
  13. 网络教室是以多媒体计算机为核心,浅谈多媒体计算机网络教室发展趋势和方向...
  14. 2022年江苏省职业院校技能大赛网络搭建与应用赛项中职样卷
  15. NOC·核桃编程马拉松复赛低年级组 A 卷真题
  16. 垃圾分类回收APP开发解决方案
  17. linux启动db2的命令窗口_linux下如何启动db2数据库命令窗口
  18. node项目部署https服务
  19. 微信又更新了,这次新增了一个大家喜闻乐见的新功能?
  20. pix2code: Generating Code from a Graphical UserInterface Screenshot

热门文章

  1. ManageEngine为远程用户更新缓存凭证
  2. 解决idea粘贴空格时显示NBSP的问题
  3. windows下外接摄像头用python用于采集图像
  4. ubuntu20.04 yolov5调用外接摄像头检测
  5. 使用Python处理Excel文件
  6. 什么是3c认证,强制性产品认定
  7. 转贴-3种方法可以让你更好地了解你自己。
  8. 牛顿拉夫逊PQ节点法c语言编程,牛顿拉夫逊介绍(原理、计算方法、程序)..doc
  9. 西部数码 425 Security: Bad IP connecting
  10. LTI的频域分析matlab,matlab与信号实验——连续lti系统的频域分析x26lc.doc