pyqt pyside 窗口自动调整大小
在QTimer中一直调整
def initTimer(self): self.resizeTimer = QtCore.QTimer(self) self.resizeTimer.start() self.resizeTimer.timeout.connect(self.onResizeTimer) def onResizeTimer(self): self.resize(self.minimumSizeHint())
在某个事件中单独调整一次
for i in range(0, 10): QtWidgets.QApplication.processEvents() self.resize(self.minimumSizeHint())
至于为什么需要加一段循环,请参考:https://stackoverflow.com/questions/28660960/resize-qmainwindow-to-minimal-size-after-content-of-layout-changes
单独调整某个方向
for i in range(0, 10): QtWidgets.QApplication.processEvents() self.resize(self.size().width(), self.minimumSizeHint().height())