mirror of
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git
synced 2024-11-15 13:15:43 +08:00
Improve Python Support (#567)
- Reduce requirements for the python build. - Fix version number. - Generate type hints for *.pyi files. - Make functional for sip-build - Reduced the unnecessary depth of the package. NOTE: This is a breaking change for python users, where, `from PyQtAds import QtAds` is changed to `import PyQtAds as QtAds`( or simply `import PyQtAds`)
This commit is contained in:
parent
c0985f6497
commit
55ef6ef863
@ -2,7 +2,7 @@ import os
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
from PyQt5 import uic
|
from PyQt5 import uic
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
UI_FILE = os.path.join(os.path.dirname(__file__), 'StatusDialog.ui')
|
UI_FILE = os.path.join(os.path.dirname(__file__), 'StatusDialog.ui')
|
||||||
StatusDialogUI, StatusDialogBase = uic.loadUiType(UI_FILE)
|
StatusDialogUI, StatusDialogBase = uic.loadUiType(UI_FILE)
|
||||||
|
@ -8,7 +8,7 @@ from PyQt5.QtWidgets import (QApplication, QLabel, QCalendarWidget, QFrame, QTre
|
|||||||
QTableWidget, QFileSystemModel, QPlainTextEdit, QToolBar,
|
QTableWidget, QFileSystemModel, QPlainTextEdit, QToolBar,
|
||||||
QWidgetAction, QComboBox, QAction, QSizePolicy, QInputDialog)
|
QWidgetAction, QComboBox, QAction, QSizePolicy, QInputDialog)
|
||||||
|
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
UI_FILE = os.path.join(os.path.dirname(__file__), 'mainwindow.ui')
|
UI_FILE = os.path.join(os.path.dirname(__file__), 'mainwindow.ui')
|
||||||
MainWindowUI, MainWindowBase = uic.loadUiType(UI_FILE)
|
MainWindowUI, MainWindowBase = uic.loadUiType(UI_FILE)
|
||||||
|
@ -8,7 +8,7 @@ from PyQt5.QtWidgets import (QApplication, QLabel, QCalendarWidget, QFrame, QTre
|
|||||||
QTableWidget, QFileSystemModel, QPlainTextEdit, QToolBar,
|
QTableWidget, QFileSystemModel, QPlainTextEdit, QToolBar,
|
||||||
QWidgetAction, QComboBox, QAction, QSizePolicy, QInputDialog)
|
QWidgetAction, QComboBox, QAction, QSizePolicy, QInputDialog)
|
||||||
|
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
UI_FILE = os.path.join(os.path.dirname(__file__), 'mainwindow.ui')
|
UI_FILE = os.path.join(os.path.dirname(__file__), 'mainwindow.ui')
|
||||||
MainWindowUI, MainWindowBase = uic.loadUiType(UI_FILE)
|
MainWindowUI, MainWindowBase = uic.loadUiType(UI_FILE)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
from PyQt5.QtGui import QCloseEvent
|
from PyQt5.QtGui import QCloseEvent
|
||||||
from PyQt5.QtCore import (qDebug, pyqtSlot, QObject, pyqtSignal)
|
from PyQt5.QtCore import (qDebug, pyqtSlot, QObject, pyqtSignal)
|
||||||
from PyQt5.QtWidgets import (QMainWindow, QAction, QTextEdit, QApplication,
|
from PyQt5.QtWidgets import (QMainWindow, QAction, QTextEdit, QApplication,
|
||||||
@ -70,4 +70,4 @@ if __name__ == '__main__':
|
|||||||
action.triggered.connect(on_action2_triggered)
|
action.triggered.connect(on_action2_triggered)
|
||||||
|
|
||||||
w.show()
|
w.show()
|
||||||
app.exec_()
|
app.exec_()
|
||||||
|
@ -3,7 +3,7 @@ import sys
|
|||||||
from PyQt5.QtWidgets import (QApplication, QWidget, QVBoxLayout, QMessageBox,
|
from PyQt5.QtWidgets import (QApplication, QWidget, QVBoxLayout, QMessageBox,
|
||||||
QInputDialog, QMenu, QLineEdit)
|
QInputDialog, QMenu, QLineEdit)
|
||||||
from PyQt5.QtGui import QIcon
|
from PyQt5.QtGui import QIcon
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
from dockindockmanager import DockInDockManager
|
from dockindockmanager import DockInDockManager
|
||||||
from perspectiveactions import LoadPerspectiveAction, RemovePerspectiveAction
|
from perspectiveactions import LoadPerspectiveAction, RemovePerspectiveAction
|
||||||
@ -200,4 +200,4 @@ class DockInDockWidget(QWidget):
|
|||||||
|
|
||||||
for closed in self.getManager().dockWidgetsMap().values():
|
for closed in self.getManager().dockWidgetsMap().values():
|
||||||
if not closed in visible_widgets:
|
if not closed in visible_widgets:
|
||||||
self.dumpStatus(widget=closed, tab=tab, suffix=" (closed)")
|
self.dumpStatus(widget=closed, tab=tab, suffix=" (closed)")
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from PyQt5.QtWidgets import QAction, QMenu, QInputDialog, QLineEdit
|
from PyQt5.QtWidgets import QAction, QMenu, QInputDialog, QLineEdit
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
CHILD_PREFIX = "Child-"
|
CHILD_PREFIX = "Child-"
|
||||||
|
|
||||||
@ -211,4 +211,4 @@ class MoveDockWidgetAction(QAction):
|
|||||||
widget.dockManager().removeDockWidget(widget)
|
widget.dockManager().removeDockWidget(widget)
|
||||||
move_to.addDockWidget(QtAds.CenterDockWidgetArea, widget, move_to.getInsertDefaultPos())
|
move_to.addDockWidget(QtAds.CenterDockWidgetArea, widget, move_to.getInsertDefaultPos())
|
||||||
else:
|
else:
|
||||||
assert False
|
assert False
|
||||||
|
@ -4,7 +4,7 @@ import atexit
|
|||||||
|
|
||||||
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
|
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
from perspectives import PerspectivesManager
|
from perspectives import PerspectivesManager
|
||||||
from dockindock import DockInDockWidget
|
from dockindock import DockInDockWidget
|
||||||
@ -69,4 +69,4 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
w = MainWindow()
|
w = MainWindow()
|
||||||
w.show()
|
w.show()
|
||||||
app.exec_()
|
app.exec_()
|
||||||
|
@ -4,7 +4,7 @@ import shutil
|
|||||||
import atexit
|
import atexit
|
||||||
|
|
||||||
from PyQt5.QtCore import pyqtSignal, QSettings, QObject
|
from PyQt5.QtCore import pyqtSignal, QSettings, QObject
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
from dockindockmanager import DockInDockManager
|
from dockindockmanager import DockInDockManager
|
||||||
from dockindock import DockInDockWidget
|
from dockindock import DockInDockWidget
|
||||||
@ -200,4 +200,4 @@ class PerspectivesManager(QObject):
|
|||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
pass
|
pass
|
||||||
if not shutil.copy(settings.fileName(), to_save):
|
if not shutil.copy(settings.fileName(), to_save):
|
||||||
assert False
|
assert False
|
||||||
|
@ -6,7 +6,7 @@ from PyQt5.QtCore import Qt, QSignalBlocker
|
|||||||
from PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel, QComboBox, QTableWidget,
|
from PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel, QComboBox, QTableWidget,
|
||||||
QAction, QWidgetAction, QSizePolicy, QInputDialog)
|
QAction, QWidgetAction, QSizePolicy, QInputDialog)
|
||||||
from PyQt5.QtGui import QCloseEvent
|
from PyQt5.QtGui import QCloseEvent
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
|
|
||||||
UI_FILE = os.path.join(os.path.dirname(__file__), 'mainwindow.ui')
|
UI_FILE = os.path.join(os.path.dirname(__file__), 'mainwindow.ui')
|
||||||
@ -105,4 +105,4 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
w = CMainWindow()
|
w = CMainWindow()
|
||||||
w.show()
|
w.show()
|
||||||
app.exec_()
|
app.exec_()
|
||||||
|
@ -5,7 +5,7 @@ from PyQt5 import uic
|
|||||||
from PyQt5.QtCore import Qt, QMargins
|
from PyQt5.QtCore import Qt, QMargins
|
||||||
from PyQt5.QtWidgets import QApplication, QLabel, QVBoxLayout, QPlainTextEdit
|
from PyQt5.QtWidgets import QApplication, QLabel, QVBoxLayout, QPlainTextEdit
|
||||||
|
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
UI_FILE = os.path.join(os.path.dirname(__file__), 'MainWindow.ui')
|
UI_FILE = os.path.join(os.path.dirname(__file__), 'MainWindow.ui')
|
||||||
MainWindowUI, MainWindowBase = uic.loadUiType(UI_FILE)
|
MainWindowUI, MainWindowBase = uic.loadUiType(UI_FILE)
|
||||||
|
@ -6,7 +6,7 @@ from PyQt5.QtCore import Qt, QTimer
|
|||||||
from PyQt5.QtGui import QCloseEvent
|
from PyQt5.QtGui import QCloseEvent
|
||||||
from PyQt5.QtWidgets import QApplication, QLabel
|
from PyQt5.QtWidgets import QApplication, QLabel
|
||||||
|
|
||||||
from PyQtAds import QtAds
|
import PyQtAds as QtAds
|
||||||
|
|
||||||
UI_FILE = os.path.join(os.path.dirname(__file__), 'MainWindow.ui')
|
UI_FILE = os.path.join(os.path.dirname(__file__), 'MainWindow.ui')
|
||||||
MainWindowUI, MainWindowBase = uic.loadUiType(UI_FILE)
|
MainWindowUI, MainWindowBase = uic.loadUiType(UI_FILE)
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
# Specify the build system.
|
# Specify the build system.
|
||||||
[build-system]
|
[build-system]
|
||||||
requires = ["sip >=6.0.2, <6.3", "PyQt-builder >=1.6, <2", "PyQt5==5.15.4", "PyQt5-sip<13,>=12.8"]
|
requires = ["sip >=6.0.2", "PyQt-builder >=1.6", "PyQt5>=5.15", "PyQt5-sip>=12.8"]
|
||||||
build-backend = "sipbuild.api"
|
build-backend = "sipbuild.api"
|
||||||
|
|
||||||
# Specify the PEP 566 metadata for the project.
|
# Specify the PEP 566 metadata for the project.
|
||||||
[tool.sip.metadata]
|
[tool.sip.metadata]
|
||||||
name = "PyQtAds"
|
name = "PyQtAds"
|
||||||
version = "4.0.2"
|
version = "4.4.1"
|
||||||
summary = "Python bindings for Qt Advanced Docking System"
|
summary = "Python bindings for Qt Advanced Docking System"
|
||||||
home-page = "https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/"
|
home-page = "https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/"
|
||||||
license = "LGPL v2.1"
|
license = "LGPL v2.1"
|
||||||
@ -16,8 +16,10 @@ description-content-type = "text/markdown"
|
|||||||
|
|
||||||
[tool.sip.project]
|
[tool.sip.project]
|
||||||
tag-prefix = "QtAds"
|
tag-prefix = "QtAds"
|
||||||
|
dunder-init = true
|
||||||
|
|
||||||
[tool.sip.bindings.ads]
|
[tool.sip.bindings.ads]
|
||||||
|
pep484-pyi = true
|
||||||
define-macros = ["ADS_SHARED_EXPORT"]
|
define-macros = ["ADS_SHARED_EXPORT"]
|
||||||
sip-file = "ads.sip"
|
sip-file = "ads.sip"
|
||||||
include-dirs = ["src"]
|
include-dirs = ["src"]
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
%Module(name=PyQtAds, call_super_init=True, keyword_arguments="Optional", use_limited_api=True)
|
%Module(name=PyQtAds, call_super_init=True, keyword_arguments="Optional", use_limited_api=True)
|
||||||
|
%HideNamespace(name=ads)
|
||||||
|
|
||||||
%Import QtCore/QtCoremod.sip
|
%Import QtCore/QtCoremod.sip
|
||||||
%DefaultSupertype sip.simplewrapper
|
%DefaultSupertype sip.simplewrapper
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user