pyqt5中控件缩放功能_pyqt5窗口随着控件大小变化(setSizeConstraint)

本文介绍了在PyQT5中如何实现窗口大小随着控件显示和隐藏而自适应变化,通过设置QLayout setSizeConstraint为QLayout.SetFixedSize,确保窗口尺寸能根据控件的状态动态调整。
摘要由CSDN通过智能技术生成

遇一次弹窗显示控件后隐藏控件,窗口大小被显示控件占用无法恢复到未显示控件之前的窗口大小。

d767ecb1ca0968b4777182acc42a93c6.png

d19ddcaf3f6874b9429d742725bedf94.png

# 创建一个Icon的窗口,继承来自QWidget类

class WinMain(QWidget):

def __init__(self, parent = None):

super(WinMain ,self).__init__(parent)

self.initUI()

# 初始化窗口

def initUI(self):

layout = QVBoxLayout()

layout.setSpacing(20)

layout.setSizeConstraint(QLayout.SetFixedSize) #关键点

date_qc = MyQCalendarWidget(self)

date_qc.setFixedHeight(200)

button = QPushButton('隐藏按钮')

button.setMaximumSize(60, 30)

button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

def btnEventQc():

if date_qc.isVisible():

date_qc.setVisible(False)

else:

date_qc.setVisible(True)

button.clicked.connect(btnEventQc)

self.resize(100, 100)

self.setFixedHeight(200)

layout.addWidget(button)

layout.addWidget(date_qc)

self.setLayout(layout)

self.setWindowTitle("窗口自适应")

if __name__ == '__main__':

app = QApplication(sys.argv)

winMain = WinMain()

winMain.show()

sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值