PySide6中一个布局下的控件隐藏一个控件,其他控件自动填充全局
时间: 2024-05-31 09:08:20 浏览: 25
如果你想在PySide6中一个布局下的控件隐藏一个控件,其他控件自动填充全局,你可以通过设置一个控件的可见性和大小策略来实现。
首先,设置要隐藏的控件的可见性为False:
```python
widget_to_hide.setVisible(False)
```
然后,将要隐藏的控件的大小策略设置为QSizePolicy.Preferred,这将使其他控件自动填充空间:
```python
widget_to_hide.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
```
最后,调用QWidget的adjustSize()方法,以便其他控件重新布局:
```python
layout_widget.adjustSize()
```
完整的代码示例:
```python
import sys
from PySide6 import QtWidgets
class MyWidget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
layout = QtWidgets.QVBoxLayout(self)
# 添加要隐藏的控件
self.widget_to_hide = QtWidgets.QLabel("要隐藏的控件")
layout.addWidget(self.widget_to_hide)
# 添加其他控件
self.widget1 = QtWidgets.QLabel("控件1")
layout.addWidget(self.widget1)
self.widget2 = QtWidgets.QLabel("控件2")
layout.addWidget(self.widget2)
# 隐藏控件并设置大小策略
self.widget_to_hide.setVisible(False)
self.widget_to_hide.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
# 重新布局
self.adjustSize()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec())
```
运行结果如下图所示,控件1和控件2自动填充空间:
![image](https://user-images.githubusercontent.com/87297129/127747763-2d1d3f9d-3e10-4c6d-8f3e-6d5b6a0a09ec.png)
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)