QT 如何在设置后禁用 setFixedSize(Form->size())

Mis*_*tyD 4 c++ qt

我目前有一个稍后可能需要调整大小的表单。最初在创建 Form(QDialog) 时调用 setFixedSize 方法。在某些情况下,以后可能需要调整表单的大小。无论如何,我们可以禁用此方法并从 QDialog 内部重新启用它吗?

cod*_*der 5

setFixedSize() 将最小和最大大小设置为相同的值,因此停止重新调整大小。所以我相信你只需要通过调用来重置最小和最大尺寸:

setMinimumSize(...);
Run Code Online (Sandbox Code Playgroud)

setMaximumSize(...);
Run Code Online (Sandbox Code Playgroud)

例如,如果您将最小尺寸设置为 0,0,将最大尺寸设置为屏幕/父级的尺寸,那么您应该可以完全调整大小...

  • 更准确地说:将最小值设置为“0”,将最大值设置为“QWIDGETSIZE_MAX”。 (2认同)