aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/qtcreator/templates/wizards/classes/python/file.py34
-rw-r--r--share/qtcreator/templates/wizards/classes/python/wizard.json24
2 files changed, 25 insertions, 33 deletions
diff --git a/share/qtcreator/templates/wizards/classes/python/file.py b/share/qtcreator/templates/wizards/classes/python/file.py
index 5698022dd8..6b16b9d952 100644
--- a/share/qtcreator/templates/wizards/classes/python/file.py
+++ b/share/qtcreator/templates/wizards/classes/python/file.py
@@ -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
diff --git a/share/qtcreator/templates/wizards/classes/python/wizard.json b/share/qtcreator/templates/wizards/classes/python/wizard.json
index aeebd1f2a3..d8a6734144 100644
--- a/share/qtcreator/templates/wizards/classes/python/wizard.json
+++ b/share/qtcreator/templates/wizards/classes/python/wizard.json
@@ -12,7 +12,8 @@
"options":
[
{ "key": "Base", "value":"%{JS: value('BaseCB') === '' ? value('BaseEdit') : value('BaseCB')}" },
- { "key": "Imports", "value": "%{ImportQtCore}%{ImportQtWidgets}%{ImportQtDeclarative}"}
+ { "key": "Package", "value": "%{JS: [ 'QWidget', 'QMainWindow' ].indexOf(value('Base')) >= 0 ? 'QtWidgets' : (value('Base') === 'QQuickItem' ? 'QtQuick' : (value('Base') === 'QObject' ? 'QtCore' : ''))}" },
+ { "key": "FullBase", "value": "%{JS: value('Package') === '' ? value('Base') : value('Package') + '.' + value('Base')}" }
],
"pages":
@@ -32,11 +33,11 @@
},
{
"name": "Module",
- "trDisplayName": "Python module:",
+ "trDisplayName": "Qt for Python module:",
"type": "ComboBox",
"data":
{
- "items": ["PySide2", "PyQt5"]
+ "items": ["<None>", "PySide2", "PyQt5"]
}
},
{
@@ -46,8 +47,10 @@
"data":
{
"items": [ { "trKey": "<Custom>", "value": "" },
- "QObject", "QWidget", "QMainWindow", "QDeclarativeItem", "QQuickItem" ]
- }
+ "QObject", "QWidget", "QMainWindow", "QQuickItem" ]
+ },
+ "isComplete": "%{JS: (value('Module') === '<None>' && value('BaseCB') === '') || value('Module') !== '<None>'}",
+ "trIncompleteMessage": "You can choose Qt classes only if you select a Qt for Python module."
},
{
"name": "BaseEdit",
@@ -67,33 +70,36 @@
"name": "ImportQtCore",
"trDisplayName": "Import QtCore",
"type": "CheckBox",
+ "enabled": "%{JS: value('Module') !== '<None>'}",
"data":
{
"checkedValue": "QtCore",
"uncheckedValue": "",
- "checked": "%{JS: value('Base') !== ''}"
+ "checked": "%{JS: value('BaseCB') !== ''}"
}
},
{
- "name": "ImportQWidget",
+ "name": "ImportQtWidgets",
"trDisplayName": "Import QtWidgets",
"type": "CheckBox",
+ "enabled": "%{JS: value('Module') !== '<None>'}",
"data":
{
"checkedValue": "QtWidgets",
"uncheckedValue": "",
- "checked": "%{JS: value('Base') === 'QWidget'}"
+ "checked": "%{JS: [ 'QWidget', 'QMainWindow' ].indexOf(value('BaseCB')) >= 0}"
}
},
{
"name": "ImportQtQuick",
"trDisplayName": "Import QtQuick",
"type": "CheckBox",
+ "enabled": "%{JS: value('Module') !== '<None>'}",
"data":
{
"checkedValue": "QtQuick",
"uncheckedValue": "",
- "checked": "%{JS: value('Base') === 'QQuickItem'}"
+ "checked": "%{JS: value('BaseCB') === 'QQuickItem'}"
}
},
{