在Qt Designer中有没有设置QMainWindow为不可调整大小的方法?我看到了很多编程示例,但我希望尽可能多地在Qt Designer中进行UI自定义。到目前为止,我只能通过将最小和最大大小设置为相等来实现这一点,但仍然存在窗口角落的调整箭头和窗口顶部的“最大化”按钮。
在Qt Designer中有没有设置QMainWindow为不可调整大小的方法?我看到了很多编程示例,但我希望尽可能多地在Qt Designer中进行UI自定义。到目前为止,我只能通过将最小和最大大小设置为相等来实现这一点,但仍然存在窗口角落的调整箭头和窗口顶部的“最大化”按钮。
我没有使用Qt Designer;我只是从头开始编写了一个QMainWindow子类。要使窗口不可调整大小的解决方案是在设置好所有小部件和布局后,在QMainWindow上调用setFixedSize。如果您设置得很好,那么您不必手动选择大小;您可以从sizeHint获取大小。我在我的QMainWindow子类内使用的代码行是:
setFixedSize(sizeHint());
setWindowFlags(Qt::Window | Qt::CustomizeWindowHint);
默认情况下,窗口标志包括Qt::WindowMaximizeButtonHint。通过设置上述标志,您表明希望自定义窗口以包含指定的元素。这也将删除最小化按钮,因此如果您也想要它,应该添加Qt :: WindowMinimizeButtonHint。
使用 setFixedSize
属性来设置 QMainWindow 的固定大小。在设计师中,如果我没记错的话,您可以将水平和垂直 sizePolicy
设置为 Fixed
。
我解决了Qt5的问题,即使窗口大小固定,仍然显示鼠标箭头调整窗口大小,但是这是在Python中完成的,但您可以对C++进行修改。
MainWindow.setWindowFlags(QtCore.Qt.MSWindowsFixedSizeDialogHint)
这是一篇旧帖子,但如果有人需要,我想提供帮助。 我找到了一种方式(不太美观),但它可以直接从QTDesigner中工作。 您可以通过将高度和宽度的值写入“MinimumSize”和“MaximumSize”属性来锁定调整大小。 显然,还要像其他用户所说的那样在垂直和水平方向上设置“Fixed”。 这将消除放大窗口的按钮。
很遗憾,没有这样的选项;在VS中,您可能会在编辑器中找到一个选项,以删除调整窗口大小的鼠标触发器;但由于某种原因,QT5没有这个选项。
我尝试使用sizePolicy
并将其设置为mainWindow的固定值;但是这对水平和垂直策略都没有任何作用。
为了解决问题,我将我的mainwindow的minimum
和maximum
大小设置为相同的值;当您运行应用程序时,鼠标光标将无法启用调整大小。
这是一种丑陋的方法来完成如此简单的事情,但这是我在QT设计师中找到的唯一方法,而不使用代码。
setFixedSize(size())
。 - RedBox