Festlegen der anfänglichen Größe des widgets in PyQt, die größer als 2/3rds des Bildschirms

Im Hauptfenster habe ich ein zentrales widget hat eine Natürliche Größe, und ich möchte, um ihn zu initialisieren, um diese Größe. Allerdings glaube ich nicht, dass es behoben werden auf diese Größe; der Benutzer sollte in der Lage sein, zu verkleinern oder zu erweitern.

Den Qt-Dokumentation besagt, dass:

Hinweis: Die Größe des top-level-widgets beschränkt sind, zu 2/3 des
desktop Höhe und Breite. Sie können die Größe() das widget manuell, wenn
diese Grenzen sind unzureichend.

Aber ich bin nicht in der Lage zu verwenden, die resize vorgeschriebene Methode.

Folgendes minimal-Beispiel zeigt das problem: Wenn die Breite und Höhe an, wie w und h weniger als 2/3 der von dem Bildschirm, dann wird das Fenster der erwarteten Größe. Wenn Sie größer sind, wird das Fenster etwas abgeschnitten Größe.

#!/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_ ())
Monkey-patching-Methoden auf die c++ - Bibliotheken nur selten funktioniert. Haben Sie versucht, die Unterklassen überschreiben die sizeHint Methode statt?
sizeHint erfolgreich Hinzugefügt wurde, um das Objekt; wenn Sie die Breite und Höhe weniger als 2/3 des Bildschirm, das widget ruft die richtige Größe. (Die Einschränkung ist fest in Qt)

InformationsquelleAutor RolKau | 2015-08-14

Schreibe einen Kommentar