原文地址:https://blog.csdn.net/qq_38161040/article/details/86605798

————————————————————————————————

设置控件的可见度为0
每种控件都有3种设置可见度为0的方法,下面来拿按钮的来举例了。
# 标准的隐藏
# 方法一:
self.pushButton_3.hide()
# 方法二:
self.pushButton_3.setHidden(True)
# 方法三:
self.pushButton_3.setVisible(False)

如果是绝对布局的话,隐藏当然不会影响位置的变化,但大家都知道绝对布局有很多缺点,比如改动的成本大,灵活性不高,适应能力很差等等。
我们习惯嵌套在一些横向和纵向布局里,但是这种布局只要是里面的控件不可见,就相当于没有了,所以会重新分配各个组件的位置,这样我们的整体布局就会有所变化。

但是我们设置控件的透明度,把透明度设置为0就好了,因为透明和不可见可不一样,透明是一种颜色。
op = QtWidgets.QGraphicsOpacityEffect()
# 设置透明度的值,0.0到1.0,最小值0是透明,1是不透明
op.setOpacity(0)
self.pushButton.setGraphicsEffect(op)

注:设置透明后,控件虽然看不见,但是点击那个位置还是会触发原控件绑定的事件。
如果想追求完美的话,可以在设置透明的同时,解除那个控件绑定的事件。
还提供一种思路,比如,设置布局里每个按钮自己单独包裹一层布局,可以设置布局的最小宽度和高度,这样标准的隐藏的按钮看不到按钮了,但是仍然还保留着位置的,因为这里还有一个有最小值的布局给占着位置呢!

PyQt5——隐藏控件并保留位置的更多相关文章

  1. php练习5——简单的学生管理系统(隐藏控件的使用)

    要求:    程序:gradeManage.html和gradeManage.php          结果       注意:   1.使用隐藏控件时,得在不同表单下,不能在同一个表单下:   2. ...

  2. PyQt5——基本控件

    PyQt5基本控件使用方法详见:https://blog.csdn.net/jia666666/article/list/5?t=1& PyQt5基本控件汇总: 1.QMainWindow 2 ...

  3. 微信小程序实现显示和隐藏控件-头像-取值-bindblur事件

    微信小程序实现显示和隐藏控件 .wxml: <view class=" {{showOrHidden?'show':'hidden'}}"></view> ...

  4. 获取屏幕上的某个控件相对位置,尤其是tableviewcell上的某一个控件的相对位置

    我的需求就是tableviewcell上的按钮,点击就会出现一个弹框: 主要就是获取,所点击的cell上控件的相对位置: CGPoint buttonCenter = CGPointMake(btn. ...

  5. wpf XMAL中隐藏控件

    原文:wpf XMAL中隐藏控件 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a771948524/article/details/9264569 ...

  6. PyQt5复杂控件(树控件、选项卡控件(滚动条控件、多文档控件、停靠控件)

    1.树控件的基本使用方法QTreeWidget'''QTreeWidget树控件的使用方法添加图标,添加表格,添加复选框等'''from PyQt5.QtWidgets import *from Py ...

  7. 控件的相对位置与绝对位置-UI界面编辑器(SkinStudio)教程

    绝对位置: 相对位置: 相对位置配合Anchor属性使用 例如Anchor属性选择left|top(即相对位置的left和top保持不变) 窗口大小改变前: 窗口大小改变后: 可以看到控件相对位置的l ...

  8. WPF中获得控件相对于控件的相对位置

    GeneralTransform generalTransform = lstitem.TransformToAncestor(this.BackStack); Point point = gener ...

  9. Flutter 获取控件尺寸和位置

    1. 插件必须渲染好, final RenderBox box = globalKey.currentContext.findRenderObject(); final size = box.size ...

随机推荐

  1. 软件测试第二次作业:初识JUNIT单元测试方法

    软件测试有很多分类,从测试的方法上可分为:黑盒测试.白盒测试.静态测试.动态测试   从软件开发的过程分为:单元测试.集成测试.确认测试.验收.回归等. 在众多的分类中,与开发人员关系最紧密的莫过于单 ...

  2. Leetcode: The Maze II

    There is a ball in a maze with empty spaces and walls. The ball can go through empty spaces by rolli ...

  3. Qt QComBox 文本框输入itemText && 文本框查找item && 本文框添加Item &&设置显示Item数量

    comBox的几种状态图如下:   图1:ui->comboBox->setEditable(true); 图2:ui->comboBox->setEditable(false ...

  4. iframe子页面与父页面元素的访问以及js变量的访问

    1.子页面访问父页面元素  parent.document.getElementById('id')和document相关的方法都可以这样用 2.父页面访问子页面元素  document.getEle ...

  5. EF(一)DB First

    “Database First”模式我们称之为“数据库优先”,前提是你的应用已经有相应的数据库,你可以使用EF设计工具根据数据库生成数据数据类,你可以使用Visual Studio模型设计器修改这些模 ...

  6. YEP_fpssynchoption

    帧率调节插件 ============================================================================Introduction===== ...

  7. MyBatis探究-----配置数据源的几种方式

    1.在核心配置文件mybatis-config.xml中配置数据库连接信息 mysql的j驱动jar包是mysql-connector-java-6.0.6.jar mysql版本5.7 <?x ...

  8. 使用gulp构建一个项目

    gulp是前端开发过程中自动构建项目的工具,相同作用的还有grunt.构建工具依靠插件能够自动监测文件变化以及完成js/sass/less/html/image/css/coffee等文件的语法检查. ...

  9. Nginx 修改用户权限

    [1]Nginx 修改用户权限 (1)修改前:Nginx系统默认用户权限是nobody 查看可知: (2)修改方法 欲使用root权限启动的. 修改 /usr/local/nginx/conf/ 下n ...

  10. SQLSERVER 查询系统中的所有表的数量

    SELECT a.name, b.rows FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE (a.type = ...