Frage

I am developing a tool which will have some variable sized windows. I am able to achieve this using the QSplitter horizontal & vertical. Please see attached image.

Now, how to make these individual windows detachable/maximize/close? How can I add cross markers at the top-right-corner of each window so that they can be closed maximized or detached from there? Just like this link :--

http://vector.com/portal/medien/ecu_testing/tae/test_automation_editor.png

enter image description here

War es hilfreich?

Lösung

You're looking for the QDockWidget class:

The QDockWidget class provides a widget that can be docked inside a QMainWindow or floated as a top-level window on the desktop. QDockWidget provides the concept of dock widgets, also know as tool palettes or utility windows. Dock windows are secondary windows placed in the dock widget area around the central widget in a QMainWindow.

Check out this example

Andere Tipps

In 2021, there is KDQDockWidget, an apparently much better Qt docking framework with both commercial and open source licenses.

The site lists the following advantages:

  • It provides advanced docking that QDockWidgets doesn’t support.
  • The layouting engine honors min/max size constraints and some size policies.
  • Supports PySide2 bindings.
  • Clean codebase.
  • Supports lazy separator resize.
  • You can reorder tabs with the mouse.
  • Supports partial layout save/restore, affecting only a chosen sub-set.
  • Allows double clicking on title bar to maximize.
  • Allows double clicking on separator to distribute equally.
  • Shows close button on tabs.
  • Allows you to make a dock widget non-closable and/or non-dockable.
  • Provides an optional maximize button on the title bar.
  • FloatingWindows can be utility windows or full native.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top