Ist es möglich, benutzerdefinierte Dockbereiche mit Qt 4.4 zu erstellen? Ich weiß, dass dies in Qt 3 möglich ist, wie dies document vorschlägt. Auszug aus dem Dokument "... Wenn Sie Ihre eigenen Dock-Bereiche erstellen müssen, schlagen wir vor, dass Sie eine Unterklasse von QWidget erstellen und Ihre Q3DockAreas zu Ihrer Unterklasse hinzufügen ...". Es scheint mir jedoch, dass in Qt 4 Q3DockArea entfernt wurde und nun das QMainWindow selbst die Dock-Bereiche hat. Ich möchte im Grunde mein eigenes Dockbereich-Widget haben, an das ich Widgets andocken kann. Dieses Dock-Bereichs-Widget kann überall in der Anwendung sein. Irgendwelche Ideen, wie ich das machen kann?Benutzerdefinierter Dockbereich mit Qt 4.4
3
A
Antwort
4
Zuerst wurde Q3DockArea nicht in Qt4 entfernt, sondern wurde hinzugefügt. Die Klasse, die entfernt wurde, war QDockArea. Sie können diese Q3 * -Klassen immer noch verwenden, wenn Sie alten Code haben, für den sie gemacht sind.
Aber ich würde nicht empfehlen, die Kompatibilitätsklassen zu verwenden. Wie wäre es mit einem QMainWindow wie einem QWidget? Erstellen Sie es mit einem übergeordneten Widget, aber ohne Menü, Symbolleiste, Statusleiste und widerrufen Sie den Status der obersten Ebene mit setWindowFlags() und dergleichen.
Sie können es als eine alte QDockArea verwenden, platzieren Sie es wo Sie möchten und fügen Sie Ihre QDockWidgets hinzu.
Außerdem ist die aktuelle Qt Version 4.5.2, keine Notwendigkeit, veraltete Versionen verwenden ;-)
Verwandte Themen
- 1. Verifying die Netzwerkverbindung mit Qt 4.4
- 2. Benutzerdefinierter URL-Protokollhandler Qt 5
- 3. Qt Creator - benutzerdefinierter Namespace für UI-Klassen
- 4. Qt QWebView Klasse benutzerdefinierter User-Agent
- 5. Einstellung Tab-Reihenfolge für QTableView in Qt 4.4
- 6. Benutzerdefinierter Alarmdialog mit benutzerdefinierter Listenansicht
- 7. Verfügbares Zimmer in Qt Dock überprüfen
- 8. WordPress Responsive Bilder 4.4
- 9. Immersive Fullscreen unter 4.4
- 10. UIActionSheet mit benutzerdefinierter Größe
- 11. CollectionViewSource mit benutzerdefinierter Sortierung
- 12. Benutzerdefinierter Alarmdialog mit RecyclerView
- 13. Markdown mit benutzerdefinierter Syntax?
- 14. $ mdDialog.confirm() mit benutzerdefinierter VorlageUrl
- 15. Symbolleistentitel mit benutzerdefinierter Ansicht
- 16. Benutzerdefinierter Zuordner mit Kompilierzeitarray
- 17. Benutzerdefinierter Domänenname mit Heroku
- 18. Theme.AppCompat.Light.NoActionBar.FullScreen funktioniert nicht mit Android 4.4
- 19. Konnte App mit xCode 4.4 nicht starten
- 20. Websocket auf Android 4.4 mit Phonegap
- 21. Probleme mit Fast Scroll in Android 4.4
- 22. NSBasic/Palm 4.4 Lernprogramm
- 23. Xcode 4.4 Vorlage Speicherort
- 24. Toggle GPS programmgesteuert Android 4.4
- 25. java.lang.NoClassDefFoundError auf Android 4.4 oder
- 26. Verwenden benutzerdefinierter Tags mit HTMLPurifier
- 27. UIScrollView scrollRectToVisible mit benutzerdefinierter Geschwindigkeit
- 28. Implementieren benutzerdefinierter Logger mit slf4j
- 29. Aktivität mit benutzerdefinierter Animation anzeigen
- 30. Swift UIAlertController mit benutzerdefinierter Nachricht
Das Problem, das ich mit dem Erstellen eine QMainWindow sehen, wie ein Dock-Bereich ist, dass Sie nur auf der linken Seite andocken können, rechts , oben und unten in einem QMainWindow. Wenn Sie also etwas in diesen Bereich fallen lassen, wird es nicht das gesamte Widget ausfüllen, sondern nur auf die andockbaren Bereiche. Es sieht nicht gut aus. ;) – Juba
Das ist nicht wahr, zumindest wenn es in diesem QMainWindow kein centralWidget gibt, deckt ein einzelnes Dock den gesamten Bereich ab, wenn es erlaubt ist. Die Dock-Regionen haben keine inhärente Größenbeschränkung. Aber verwenden Sie die Q3Dock * -Klassen, wenn Sie das Gefühl haben, dass sie sich mehr wie gewünscht verhalten. Oder schreiben Sie Ihre eigene QDockArea-Klasse, indem Sie den Docking-Teil von QMainWindow als Vorlage verwenden. – hirschhornsalz