From 22f609cfa67edbda2f40a1a87cd38ac4ab289be7 Mon Sep 17 00:00:00 2001 From: githubuser0xFFFF Date: Tue, 1 Nov 2022 19:40:49 +0100 Subject: [PATCH 1/5] Fixed README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 27e86b1..62b3f78 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![ukraine](doc/taiwan_ukraine.jpg) +![ukraine](doc/ukraine.jpg) ![logo](doc/ads_logo.svg) From a61d5bd8c0c33788dcdee5c529d8adf66f2a898b Mon Sep 17 00:00:00 2001 From: Uwe Kindler Date: Tue, 8 Nov 2022 21:40:39 +0100 Subject: [PATCH 2/5] Updated Python binding documentation with new PySide6 bindings --- README.md | 40 +++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 27e86b1..e3736f7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![ukraine](doc/taiwan_ukraine.jpg) +![ukraine](doc/ukraine.jpg) ![logo](doc/ads_logo.svg) @@ -73,7 +73,9 @@ know it from Visual Studio. - [Tab-menu for easy handling of many tabbed dock widgets](#tab-menu-for-easy-handling-of-many-tabbed-dock-widgets) - [Many different ways to detach dock widgets](#many-different-ways-to-detach-dock-widgets) - [Supports deletion of dynamically created dock widgets](#supports-deletion-of-dynamically-created-dock-widgets) - - [Python PyQt5 Bindings](#python-pyqt5-bindings) +- [Python PyQt5 Bindings](#python-pyqt5-bindings) + - [PySide6](#pyside6) + - [PyQt5](#pyqt5) - [Tested Compatible Environments](#tested-compatible-environments) - [Supported Qt Versions](#supported-qt-versions) - [Windows](#windows) @@ -180,21 +182,41 @@ You can detach dock widgets and also dock areas in the following ways: Normally clicking the close button of a dock widget will just hide the widget and the user can show it again using the toggleView() action of the dock widget. This is meant for user interfaces with a static amount of widgets. But the advanced docking system also supports dynamic dock widgets that will get deleted on close. If you set the dock widget flag `DockWidgetDeleteOnClose` for a certain dock widget, then it will be deleted as soon as you close this dock widget. This enables the implementation of user interfaces with dynamically created editors, like in word processing applications or source code development tools. -### Python PyQt5 Bindings +## Python PyQt5 Bindings ![Python Logo](doc/python_logo.png) -The Advanced Docking System comes with a complete Python integration based on -PyQt5 bindings. The package is available via [conda-forge](https://github.com/conda-forge/pyqtads-feedstock). The python integration has been contributed to this project -by the following people: +Thanks to the contribution of several users, the Advanced Docking System comes +with a complete Python integration. Python bindings are available for **PyQt5** and +**PySide6**. + +### PySide6 + +A PySide6 ADS package is available via PyPi and can be installed on Windows, +macOS, and Linux with: + +```bash +pip install PySide6-QtAds +``` + +Sample code is available [here](https://github.com/mborgerson/Qt-Advanced-Docking-System/tree/pyside6/examples). To run the samples, you'll also need to install latest qtpy +from source (pip install https://github.com/spyder-ide/qtpy/archive/refs/heads/master.zip). +The PySide6 bindings were contributed by: + +- [mborgerson](https://github.com/mborgerson) + +For more information about the PySide6 bindings read [this](https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/issues/298) issue. + +### PyQt5 + +A package is available via [conda-forge](https://github.com/conda-forge/pyqtads-feedstock). +The python integration has been contributed to this project by the following people: - [n-elie](https://github.com/n-elie) - [Hugo Slepicka](https://github.com/hhslepicka) - [K Lauer](https://github.com/klauer) -Latest working version: [3.5.2](https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/releases/tag/3.5.2) - -A Python integration is also availables via PyPi. You can install the +A Python integration is also available via PyPi. You can install the [PyQtAds](https://pypi.org/project/PyQtAds/) package via pip. This feature has been contributed to this project by: From 0c9773ab54db3a131b5badc98287c710d5619a6f Mon Sep 17 00:00:00 2001 From: Uwe Kindler Date: Tue, 8 Nov 2022 22:06:49 +0100 Subject: [PATCH 3/5] Added dockingpanes docking library to alternative docking systems --- README.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e3736f7..aaf5d47 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ know it from Visual Studio. - [Alternative Docking System Implementations](#alternative-docking-system-implementations) - [KDDockWidgets](#kddockwidgets) - [QtitanDocking](#qtitandocking) + - [DockingPanes](#dockingpanes) - [Donation](#donation) - [Showcase](#showcase) - [Qt Creator IDE](#qt-creator-ide) @@ -372,18 +373,29 @@ If this Qt Advanced Docking System does not fit to your needs you may consider s ### KDDockWidgets -This is an advanced docking framework for Qt from [KDAB](https://www.kdab.com/). The interesting thing is, that they separated GUI code from logic, so they can easily provide a QtQuick backend in the future. +This is an advanced docking framework for Qt from [KDAB](https://www.kdab.com/). The interesting thing is, that they separated GUI code from logic, so they can easily provide a QtQuick backend in the future. - [Blog post about KDDockWidgets](https://www.kdab.com/kddockwidgets/) - [GitHub project](https://github.com/KDAB/KDDockWidgets) +**License:** dual-licensed, available under both commercial and GPL license. ### QtitanDocking -This is a commercial component from [Developer Machines](https://www.devmachines.com/) for Qt Framework that allows to create a Microsoft like dockable user interface. They also offer a lot of other interesting and useful components for Qt. +This is a commercial component from [Developer Machines](https://www.devmachines.com/) for Qt Framework that allows to create a Microsoft like dockable user interface. They also offer a lot of other interesting and useful components for Qt. The library is available - [Product page](https://www.devmachines.com/qtitandocking-overview.html) +**License:** Commercial license + +### DockingPanes + +DockingPanes is a library for Qt Widgets that implements docking windows that have the look and feel of Visual Studio. It provides a simple API which allows an application to make use of docking windows with a few calls. + +- [GitHub project](https://github.com/KestrelRadarSensors/dockingpanes) + +**License:** GPL + ## Donation If this project help you reduce time to develop or if you just like it, you can give me a cup of coffee :coffee::wink:. From 21d8a3dcdb7917e73343edf09bbc95624ef8496c Mon Sep 17 00:00:00 2001 From: Uwe Kindler Date: Tue, 8 Nov 2022 22:10:24 +0100 Subject: [PATCH 4/5] Removed developers section in README.md --- README.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/README.md b/README.md index aaf5d47..46d8697 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,6 @@ know it from Visual Studio. - [Linux](#linux) - [Build](#build) - [Getting started / Example](#getting-started--example) -- [Developers](#developers) - [License information](#license-information) - [Alternative Docking System Implementations](#alternative-docking-system-implementations) - [KDDockWidgets](#kddockwidgets) @@ -350,17 +349,6 @@ MainWindow::~MainWindow() } ``` -## Developers - -- Uwe Kindler, Project Maintainer -- Manuel Freiholz - -This work is based on and inspired by the -[Advanced Docking System for Qt](https://github.com/mfreiholz/Qt-Advanced-Docking-System) -from Manuel Freiholz. I did an almost complete rewrite of his code to improve -code quality, readibility and to fix all issues from the issue tracker -of his docking system project. - ## License information [![License: LGPL v2.1](https://img.shields.io/badge/License-LGPL%20v2.1-blue.svg)](gnu-lgpl-v2.1.md) From 4600af712b87fa6c5572ea9c96d5da484fcade21 Mon Sep 17 00:00:00 2001 From: Uwe Kindler Date: Tue, 8 Nov 2022 22:17:59 +0100 Subject: [PATCH 5/5] Moved Alternative Dock System implementation to the end of README.md --- README.md | 71 +++++++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 46d8697..71a057a 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ know it from Visual Studio. - [Tab-menu for easy handling of many tabbed dock widgets](#tab-menu-for-easy-handling-of-many-tabbed-dock-widgets) - [Many different ways to detach dock widgets](#many-different-ways-to-detach-dock-widgets) - [Supports deletion of dynamically created dock widgets](#supports-deletion-of-dynamically-created-dock-widgets) -- [Python PyQt5 Bindings](#python-pyqt5-bindings) +- [Python Bindings](#python-bindings) - [PySide6](#pyside6) - [PyQt5](#pyqt5) - [Tested Compatible Environments](#tested-compatible-environments) @@ -84,10 +84,6 @@ know it from Visual Studio. - [Build](#build) - [Getting started / Example](#getting-started--example) - [License information](#license-information) -- [Alternative Docking System Implementations](#alternative-docking-system-implementations) - - [KDDockWidgets](#kddockwidgets) - - [QtitanDocking](#qtitandocking) - - [DockingPanes](#dockingpanes) - [Donation](#donation) - [Showcase](#showcase) - [Qt Creator IDE](#qt-creator-ide) @@ -101,6 +97,10 @@ know it from Visual Studio. - [Notepad Next](#notepad-next) - [MetGem](#metgem) - [PRE Workbench](#pre-workbench) +- [Alternative Docking System Implementations](#alternative-docking-system-implementations) + - [KDDockWidgets](#kddockwidgets) + - [QtitanDocking](#qtitandocking) + - [DockingPanes](#dockingpanes) ### Docking everywhere - no central widget @@ -182,7 +182,7 @@ You can detach dock widgets and also dock areas in the following ways: Normally clicking the close button of a dock widget will just hide the widget and the user can show it again using the toggleView() action of the dock widget. This is meant for user interfaces with a static amount of widgets. But the advanced docking system also supports dynamic dock widgets that will get deleted on close. If you set the dock widget flag `DockWidgetDeleteOnClose` for a certain dock widget, then it will be deleted as soon as you close this dock widget. This enables the implementation of user interfaces with dynamically created editors, like in word processing applications or source code development tools. -## Python PyQt5 Bindings +## Python Bindings ![Python Logo](doc/python_logo.png) @@ -354,36 +354,6 @@ MainWindow::~MainWindow() [![License: LGPL v2.1](https://img.shields.io/badge/License-LGPL%20v2.1-blue.svg)](gnu-lgpl-v2.1.md) This project uses the [LGPLv2.1 license](gnu-lgpl-v2.1.md) - -## Alternative Docking System Implementations - -If this Qt Advanced Docking System does not fit to your needs you may consider some of the alternative docking system solutions for Qt. - -### KDDockWidgets - -This is an advanced docking framework for Qt from [KDAB](https://www.kdab.com/). The interesting thing is, that they separated GUI code from logic, so they can easily provide a QtQuick backend in the future. - -- [Blog post about KDDockWidgets](https://www.kdab.com/kddockwidgets/) -- [GitHub project](https://github.com/KDAB/KDDockWidgets) - -**License:** dual-licensed, available under both commercial and GPL license. - -### QtitanDocking - -This is a commercial component from [Developer Machines](https://www.devmachines.com/) for Qt Framework that allows to create a Microsoft like dockable user interface. They also offer a lot of other interesting and useful components for Qt. The library is available - -- [Product page](https://www.devmachines.com/qtitandocking-overview.html) - -**License:** Commercial license - -### DockingPanes - -DockingPanes is a library for Qt Widgets that implements docking windows that have the look and feel of Visual Studio. It provides a simple API which allows an application to make use of docking windows with a few calls. - -- [GitHub project](https://github.com/KestrelRadarSensors/dockingpanes) - -**License:** GPL - ## Donation If this project help you reduce time to develop or if you just like it, you can give me a cup of coffee :coffee::wink:. @@ -510,3 +480,32 @@ PRE Workbench is a Python software and uses the ADS PyQt integration. [read more...](https://luelista.github.io/pre_workbench/) [![PRE Workbench](doc/showcase_pre_workbench.png)](https://youtu.be/U3op5UreV1Q) + +## Alternative Docking System Implementations + +If this Qt Advanced Docking System does not fit to your needs you may consider some of the alternative docking system solutions for Qt. + +### KDDockWidgets + +This is an advanced docking framework for Qt from [KDAB](https://www.kdab.com/). The interesting thing is, that they separated GUI code from logic, so they can easily provide a QtQuick backend in the future. + +- [Blog post about KDDockWidgets](https://www.kdab.com/kddockwidgets/) +- [GitHub project](https://github.com/KDAB/KDDockWidgets) + +**License:** dual-licensed, available under both commercial and GPL license. + +### QtitanDocking + +This is a commercial component from [Developer Machines](https://www.devmachines.com/) for Qt Framework that allows to create a Microsoft like dockable user interface. They also offer a lot of other interesting and useful components for Qt. The library is available + +- [Product page](https://www.devmachines.com/qtitandocking-overview.html) + +**License:** Commercial license + +### DockingPanes + +DockingPanes is a library for Qt Widgets that implements docking windows that have the look and feel of Visual Studio. It provides a simple API which allows an application to make use of docking windows with a few calls. + +- [GitHub project](https://github.com/KestrelRadarSensors/dockingpanes) + +**License:** GPL