如何在PyQt中设置小部件的初始大小大于2 / 3rds的屏幕

时间:2015-08-14 20:03:07

标签: python qt pyqt qt4 pyqt4

在主窗口中,我有一个自然大小的中央小部件,我想将它初始化为这个大小。但是,我不希望它固定在这个尺寸上;用户应该能够缩小或扩展它。

Qt documentation表示:

  

注意:顶级窗口小部件的大小限制为2/3   桌面的高度和宽度。如果,您可以手动调整窗口小部件()   这些界限不足。

但我无法按规定使用resize方法。

以下最小示例说明了问题:如果wh给出的宽度和高度小于屏幕宽度和高度的2/3,则窗口将获得预期的大小。如果它们更大,窗口会有一些截断的大小。

#!/usr/bin/env python
from PyQt4 import QtCore, QtGui
import sys
w = 1280; h = 720
app = QtGui.QApplication (sys.argv [1:])
frm = QtGui.QFrame ()
frm.sizeHint = lambda: QtCore.QSize (w, h)
win = QtGui.QMainWindow ()
win.setCentralWidget (frm)
win.show ()
sys.exit (app.exec_ ())

2 个答案:

答案 0 :(得分:3)

这应该为你做到我认为

from PyQt4 import QtCore, QtGui
import sys
w = 2280; h = 1520
app = QtGui.QApplication (sys.argv [1:])
frm = QtGui.QFrame ()
#frm.sizeHint = lambda: QtCore.QSize (w, h)
win = QtGui.QMainWindow ()
win.setCentralWidget (frm)
win.resize(w, h)
win.show ()
sys.exit (app.exec_ ())

答案 1 :(得分:1)

上述答案很好,但官方QApplication,QFrameQMainWindow <{1}}的一部分除外> PyQt5 。它们是 QtWidgets 的一部分。

QtGui