【问题标题】:How to overload sizehint() method of QMainWindow's layout如何覆盖 QMainWindow 布局的 sizehint() 方法
【发布时间】:2014-04-22 20:34:49
【问题描述】:

我想在 PyQt 中制作一个大小固定的主窗口应用程序。

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

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

但我仍然很好奇如何以另一种方式完成。

可能是缺乏 Python 编程知识。

【问题讨论】:

标签: python qt pyqt


【解决方案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

【讨论】:

    猜你喜欢
    • 2012-06-20
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多