forked from qt-creator/qt-creator
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user