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

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

pyqt5中控件缩放功能_pyqt5窗口随着控件大小变化(setSizeConstraint)_第1张图片

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_())

你可能感兴趣的:(pyqt5中控件缩放功能)