Qt: Zähler in der rechten unteren Ecke



  • Hallo,

    ich stehe derzeit vor dem Problem, dass ich in einer MainWindow-Klasse, die von QMainWindow erbt, einmal ein großes GraphicalWindow habe, das von QGraphicsView erbt und das gesamte MainWindow ausfüllt, und dazu noch ein QLabel einfügen will, das in der rechten unteren Ecke eine Art Zähler darstellt.
    Dieses QLabel soll dabei immer rechts unten stehen, egal, ob im Fullscreen-Modus oder im Fenstermodus in beliebiger Größe, weshalb label->setGeometry() nicht funktioniert.
    Mit Layouts scheint das nicht zu funktionieren, da dann einfach immer das GraphicalWindow verkleinert wird, was ich aber nicht will.
    Das müsste schließlich eigentlich irgendwie möglich sein, oder etwa nicht?

    Vielen Dank schon einmal!

    Nachtrag: hat sich erledigt.
    Nach weiteren Google-Suchen habe ich schließlich QWidget::stackUnder(QWidget*) gefunden. Damit funktioniert alles.

    Thread kann geschlossen werden.



  • QMainWindow kennt neben dem central widget noch folgende elemente:
    - Menubar
    - Statusbar
    - Dockwidgets

    Für deinen Anwendungsfall wäre die Verwendung einer Statusbar
    Doku zum setzten einer Statusbar des QMainWindow
    http://doc.qt.io/qt-5/qmainwindow.html#setStatusBar



  • Leider passte keines der Elemente zu meinen Absichten. Besagtes stackUnder(QWidget*) funktioniert aber hervorragend, vielen Dank.



  • Skylac06 schrieb:

    Leider passte keines der Elemente zu meinen Absichten. Besagtes stackUnder(QWidget*) funktioniert aber hervorragend, vielen Dank.

    Wiso nicht die Statusbar?
    Da kann man verschieden Widgets reinlegen



  • Weil dann leider wieder ein Rand unten entsteht.
    Das QLabel ist nur klein unten rechts in der Ecke. Das QGraphicsView-Widget füllt das gesamte Fenster aus. So funktioniert alles:

    graphic->stackUnder(label);
    	mainLayout->addWidget(graphic, 0, 0, 2, 2);
    	mainLayout->addWidget(label, 1, 1);
    

    Oder spricht irgendetwas gegen diese Lösung?


Log in to reply