So wählen Sie die position von QMainWindow?
In meinem eher komplexe app erstellen ich mehrere QmainWindows, die zeigen/verbergen, je nach Bedingungen. Um Ihr Verhalten deterministischer, ich möchte, um Ihre position mit setPosition()
. Das problem ist, dass QMainWindow ist nicht abgeleitet von QWindow, wie ich annahm. So, es hat keine setPosition()
. Meine Fragen:
-
Warum QMainWindow ist nicht abgeleitet von QWindow? (Nur meine Neugier)
-
Wie kann ich die position eines QMainWindow?
- Warum
move(int x, int y)
ist für Sie nicht geeignet? - QWindow eher neue Klasse und ist ein adapter zwischen native und plattformunabhängige Benutzeroberfläche windows. QWidget ist historisch die Eltern für die meisten Qt-UI-Klassen. In der Tat, dass QWindow nicht lange ist es noch nicht. Und ja, QMainWindow abgeleitet von QWidget.
- da fand ich setPosition() :). Und auch, weil ich Versuch, bevor ich die show () - es. Danke, ich bin ungebildet in Qt Geschichte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
(@Tarod und @AlexanderVX schon gab die Antworten in den Kommentar, aber hier sind Sie wieder)
Vor allem, weil
QMainWindow
gab es schon lange vorQWindow
erfunden wurde.QMainWindow
erbtQWidget
.QWidget
ist flexibel; es kann eine top-level-Fenster, oder es kann Teil eines größeren widget. Das bedeutet, Sie könnenQMainWindow
in einem anderen widget (aber Sie wahrscheinlich nicht wollen, das zu tun).Die gleiche Weise setzen Sie die position von einem anderen
QWidget
: http://doc.qt.io/qt-5/qwidget.html#pos-prop (QWidget::move()
)