如何覆盖QMainWindow布局的sizehint()方法

时间:2014-04-22 20:34:49

标签: python qt pyqt

我想在PyQt中创建一个主窗口应用程序,它的大小是固定的。

我试图找到一种方法来重载QMainWindow布局的sizehint()方法,以便设置sizeHint()返回的大小但不知道如何操作。

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

但我仍然很好奇如何以其他方式完成。

可能缺乏Python编程知识。

1 个答案:

答案 0 :(得分: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