https://github.com/pyapp-kit/pyqt6ads
https://github.com/pyapp-kit/pyqt6ads
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/pyapp-kit/pyqt6ads
- Owner: pyapp-kit
- License: lgpl-2.1
- Created: 2025-02-16T16:21:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-05T21:06:19.000Z (about 1 year ago)
- Last Synced: 2025-06-11T23:21:43.560Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 175 KB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PyQt6Ads
[](https://github.com/pyapp-kit/PyQt6Ads/raw/main/LICENSE)
[](https://pypi.org/project/PyQt6Ads)
[](https://python.org)
[](https://github.com/pyapp-kit/PyQt6Ads/actions/workflows/pypi.yml)
PyQt6 Bindings for (the amazing)
[Qt-Advanced-Docking-System](https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System)
[](https://www.youtube.com/watch?v=7pdNfafg3Qc)
## Installation
```sh
pip install PyQt6Ads
```
## Usage
Please see [documentation in the upstream
repo](https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/blob/master/doc/user-guide.md).
See also [examples in this repo](./examples/).
The autogenerated type stubs are also useful for understanding the API.
### Minimal Example
```python
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QAction
from PyQt6.QtWidgets import QMainWindow, QLabel
import PyQt6Ads as ads
class MainWindow(QMainWindow):
def __init__(self) -> None:
super().__init__()
# create the dock manager
# If the parent is a QMainWindow, DockManager sets itself as the central widget.
self.dock_manager = ads.CDockManager(self)
# create an example widget to place inside the dock widget
lbl = QLabel()
lbl.setWordWrap(True)
lbl.setAlignment(Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignLeft)
lbl.setText("Lorem ipsum dolor sit amet, consectetuer adipiscing elit.")
# create a dock widget with the title "Label 1"
# and set the created label as the dock widget content
dw = ads.CDockWidget("Label 1")
dw.setWidget(lbl)
# add the toggleViewAction of the dock widget to the menu
# to give the user the possibility to show the dock widget if it has been closed
self.menuView = self.menuBar().addMenu("View")
self.menuView.addAction(dw.toggleViewAction())
# add the dock widget to the top dock widget area
self.dock_manager.addDockWidget(ads.DockWidgetArea.TopDockWidgetArea, dw)
```
## Alternatives
- **For PySide6**: See
- **For PyQt5**: See (in the upstream repo)
## Developers
To build the wheel locally, use cibuildwheel:
```sh
export QT_VERSION=6.5.3
uvx cibuildwheel
```