【问题标题】:Removing a widget by invoking from a button which is set using QSplitter() in PyQt4通过调用在 PyQt4 中使用 QSplitter() 设置的按钮来删除小部件
【发布时间】:2014-01-10 17:22:43
【问题描述】:

我想让“Application 1”在单击“Single”按钮时消失。 再次显示我的意思是当点击“Split”按钮时。有什么方法可以让 QSplitter() 中的小部件消失/折叠

这是基本布局:

提前致谢。

【问题讨论】:

    标签: python pyqt pyqt4 qsplitter


    【解决方案1】:

    QWidget 具有函数show()hide(),如果Application1 在QWidget 或任何其他继承QWidget 的小部件内,则当用户单击@987654327 时,您可以在该小部件的对象上调用hide @ 按钮,(widget.hide())。当用户单击Split 按钮时,您可以在同一对象上调用show() 以显示小部件。

    编辑

    实现此目的的另一种方法是:

    设置QSplitter的大小。当Single按钮被按下时,执行以下操作:

    splitter.setSizes([self.width(), 0])
    

    split 按钮被按下时,执行以下操作:

    splitter.setSizes([self.width()/2, self.width()/2])
    

    假设self 指的是包含拆分器的mainWindow,self.width() 给出了mainWindow 的宽度。

    【讨论】:

    • 第一种方法通常更可取。第二种方法的缺点是拆分器的当前位置丢失了,因此需要更多代码来保存和恢复它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多