如何重载QMainWindow布局的sizehint()方法
我想用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
。