Wizards: Improve python class wizard

Some minor fixes, simplifications and improvements.
In detail:
 * create valid Python code
 * allow creating a Python class also without a Qt package
 * hint about the need for a Qt package depending on the
   base class
 * remove QDeclarativeItem as base class as this is not
   present in recent Qt packages

Change-Id: I7198f315b3a9eec9a04f52d7438d05ccce40c3f7
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2020-05-19 16:44:15 +02:00
parent 4174d0c72c
commit 5b4b09481a
2 changed files with 25 additions and 33 deletions

View File

@@ -1,38 +1,24 @@
# This Python file uses the following encoding: utf-8
@if '%{Module}' === 'PySide2'
@if '%{ImportQtCore}'
from PySide2 import QtCore
@if '%{Module}' !== '<None>'
@if '%{ImportQtCore}' !== ''
from %{Module} import QtCore
@endif
@if '%{ImportQtWidgets}'
from PySide2 import QtWidgets
@if '%{ImportQtWidgets}' !== ''
from %{Module} import QtWidgets
@endif
@if '%{ImportQtQuick}'
from PySide2 import QtQuick
@endif
@else
@if '%{ImportQtCore}'
from PyQt5 import QtCore
@endif
@if '%{ImportQtWidgets}'
from PyQt5 import QtWidgets
@endif
@if '%{ImportQtQuick}'
from PyQt5 import QtQuick
@if '%{ImportQtQuick}' !== ''
from %{Module} import QtQuick
@endif
@endif
@if '%{Base}'
class %{Class}(%{Base}):
class %{Class}(%{FullBase}):
@else
class %{Class}:
@endif
def __init__(self):
@if '%{Base}' === 'QWidget'
QtWidgets.QWidget.__init__(self)
@elif '%{Base}' === 'QMainWindow'
QtWidgets.QMainWindow.__init__(self)
@elif '%{Base}' === 'QQuickItem'
QtQuick.QQuickItem.__init__(self)
@if %{JS: [ "QObject", "QWidget", "QMainWindow", "QQuickItem" ].indexOf("%Base")} >= 0
%{FullBase}.__init__(self)
@endif
pass