如何重载QMainWindow布局的sizehint()方法

0 投票
1 回答
1653 浏览
提问于 2025-04-18 03:48

我想用PyQt做一个主窗口应用程序,并且希望它的大小是固定的。

我尝试找办法重载QMainWindow布局中的sizehint()方法,以便设置sizeHint()返回的大小,但不知道该怎么做。

经过一些研究,我了解到可以通过QWidget的setFixedSize(QSize)函数来设置QMainWindow的大小。

不过我还是很好奇有没有其他的方法可以做到这一点。

这可能是我在Python编程方面知识不足的原因。

1 个回答

1

出于好奇,你可以这样做:

from PyQt4 import QtGui as gui, QtCore as core

class MainWindow(gui.QMainWindow):

    def __init__(self):
        super(MainWindow,self).__init__()
        self.setCentralWidget(gui.QPushButton("Push me!"))

    def sizeHint(self):
        return core.QSize(300,500)


app = gui.QApplication([])


mw = MainWindow()
mw.show()

app.exec_()

你要记住,sizeHint 只是用来获取小部件的默认大小,适用的情况下才用。我是说,当有一些额外的空间可以填充,或者当有多个小部件共享空间在一个布局中时,试着在布局中实验一下,你会发现它非常有用!😉 最后,这并不是设置固定大小的有效方法,想要设置固定大小的话,就直接使用你提到的 setFixedSize

撰写回答