QtWizard: Create new project templates for Qt 6.2

Task-number: QTCREATORBUG-26170
Change-Id: Ifbe1055bbed24937929bc846e1f036a1306557b4
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This commit is contained in:
Artem Sokolovskii
2021-09-03 15:37:44 +02:00
parent 0f0287d907
commit 77fed0b0fd
7 changed files with 104 additions and 41 deletions

View File

@@ -0,0 +1,24 @@
cmake_minimum_required(VERSION 3.16)
project(%{ProjectName} VERSION 0.1 LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.2 COMPONENTS Quick REQUIRED)
qt_add_executable(%{ProjectName}
main.cpp
)
qt_add_qml_module(%{ProjectName}
URI %{ProjectName}
VERSION 1.0
QML_FILES main.qml %{AdditionalQmlFiles}
)
target_compile_definitions(%{ProjectName}
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(%{ProjectName}
PRIVATE Qt6::Quick)

View File

@@ -1,5 +1,7 @@
import QtQuick %{QtQuickVersion}
@if !%{IsQt6}
import QtQuick.Window %{QtQuickWindowVersion}
@endif
@if %{UseVirtualKeyboard}
import %{QtQuickVirtualKeyboardImport}
@endif

View File

@@ -16,14 +16,16 @@
{ "key": "ProFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'pro')}" },
{ "key": "QbsFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'qbs')}" },
{ "key": "CMakeFile", "value": "%{ProjectDirectory}/CMakeLists.txt" },
{ "key": "IsQt6", "value": "%{JS: value('QtVersion').IsQt6}" },
{ "key": "MainCppFileName", "value": "%{JS: 'main.' + Util.preferredSuffix('text/x-c++src')}" },
{ "key": "QtQuickVersion", "value": "%{JS: value('QtVersion').QtQuickVersion}" },
{ "key": "QtQuickWindowVersion", "value": "%{JS: value('QtVersion').QtQuickWindowVersion}" },
{ "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" },
{ "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" },
{ "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQt.6.2' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" },
{ "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" },
{ "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" },
{ "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" }
{ "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" },
{ "key": "AdditionalQmlFiles", "value": "" }
],
"pages":
@@ -87,12 +89,13 @@
"items":
[
{
"trKey": "Qt 6",
"trKey": "Qt 6.2",
"value":
{
"QtQuickVersion": "",
"QtQuickWindowVersion": "",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard",
"IsQt6": true
}
},
{
@@ -101,7 +104,8 @@
{
"QtQuickVersion": "2.15",
"QtQuickWindowVersion": "2.15",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.15"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.15",
"IsQt6": false
}
},
{
@@ -110,7 +114,8 @@
{
"QtQuickVersion": "2.14",
"QtQuickWindowVersion": "2.14",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.14"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.14",
"IsQt6": false
}
},
{
@@ -119,7 +124,8 @@
{
"QtQuickVersion": "2.13",
"QtQuickWindowVersion": "2.13",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4",
"IsQt6": false
}
},
{
@@ -128,7 +134,8 @@
{
"QtQuickVersion": "2.12",
"QtQuickWindowVersion": "2.12",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4",
"IsQt6": false
}
}
]
@@ -180,7 +187,7 @@
"condition": "%{JS: value('BuildSystem') === 'qmake'}"
},
{
"source": "../CMakeLists.txt",
"source": "%{JS: value('QtVersion').IsQt6 ? '../CMakeLists.6.x.txt' : '../CMakeLists.txt'}",
"target": "CMakeLists.txt",
"openAsProject": true,
"condition": "%{JS: value('BuildSystem') === 'cmake'}"
@@ -201,7 +208,8 @@
"openInEditor": true
},
{
"source": "qml.qrc"
"source": "qml.qrc",
"condition": "%{JS: !value('QtVersion').IsQt6}"
},
{
"source": "../../translation.ts",

View File

@@ -11,6 +11,7 @@ int main(int argc, char *argv[])
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
@endif
@if !%{IsQt6}
@if %{SetQPAPhysicalSize}
if (qEnvironmentVariableIsEmpty("QTGLESSTREAM_DISPLAY")) {
qputenv("QT_QPA_EGLFS_PHYSICAL_WIDTH", QByteArray("213"));
@@ -25,7 +26,7 @@ int main(int argc, char *argv[])
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
@endif
@endif
QGuiApplication app(argc, argv);
@if %{HasTranslation}
@@ -41,7 +42,11 @@ int main(int argc, char *argv[])
@endif
QQmlApplicationEngine engine;
@if %{IsQt6}
const QUrl url(u"qrc:/%{JS: value('ProjectName')}/main.qml"_qs);
@else
const QUrl url(QStringLiteral("qrc:/main.qml"));
@endif
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)

View File

@@ -16,16 +16,18 @@
{ "key": "ProFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'pro')}" },
{ "key": "QbsFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'qbs')}" },
{ "key": "CMakeFile", "value": "%{ProjectDirectory}/CMakeLists.txt" },
{ "key": "IsQt6", "value": "%{JS: value('QtVersion').IsQt6}" },
{ "key": "MainCppFileName", "value": "%{JS: 'main.' + Util.preferredSuffix('text/x-c++src')}" },
{ "key": "QtQuickVersion", "value": "%{JS: value('QtVersion').QtQuickVersion}" },
{ "key": "QtQuickControlsVersion", "value": "%{JS: value('QtVersion').QtQuickControlsVersion}" },
{ "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" },
{ "key": "QtQuickControlsStyle", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyle}" },
{ "key": "QtQuickControlsStyleTheme", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyleTheme}" },
{ "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" },
{ "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQt.6.2' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" },
{ "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" },
{ "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" },
{ "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" }
{ "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" },
{ "key": "AdditionalQmlFiles", "value": "" }
],
"pages":
@@ -89,12 +91,13 @@
"items":
[
{
"trKey": "Qt 6",
"trKey": "Qt 6.2",
"value":
{
"QtQuickVersion": "",
"QtQuickControlsVersion": "",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard",
"IsQt6": true
}
},
{
@@ -103,7 +106,8 @@
{
"QtQuickVersion": "2.15",
"QtQuickControlsVersion": "2.15",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.15"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.15",
"IsQt6": false
}
},
{
@@ -112,7 +116,8 @@
{
"QtQuickVersion": "2.14",
"QtQuickControlsVersion": "2.14",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.14"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.14",
"IsQt6": false
}
},
{
@@ -121,7 +126,8 @@
{
"QtQuickVersion": "2.13",
"QtQuickControlsVersion": "2.13",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4",
"IsQt6": false
}
},
{
@@ -130,7 +136,8 @@
{
"QtQuickVersion": "2.12",
"QtQuickControlsVersion": "2.5",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4",
"IsQt6": false
}
}
]
@@ -250,7 +257,7 @@
"condition": "%{JS: value('BuildSystem') === 'qmake'}"
},
{
"source": "../CMakeLists.txt",
"source": "%{JS: value('QtVersion').IsQt6 ? '../CMakeLists.6.x.txt' : '../CMakeLists.txt'}",
"target": "CMakeLists.txt",
"openAsProject": true,
"condition": "%{JS: value('BuildSystem') === 'cmake'}"
@@ -275,7 +282,8 @@
"target": "qtquickcontrols2.conf"
},
{
"source": "qml.qrc"
"source": "qml.qrc",
"condition": "%{JS: !value('QtVersion').IsQt6}"
},
{
"source": "../../translation.ts",

View File

@@ -16,16 +16,18 @@
{ "key": "ProFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'pro')}" },
{ "key": "QbsFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'qbs')}" },
{ "key": "CMakeFile", "value": "%{ProjectDirectory}/CMakeLists.txt" },
{ "key": "IsQt6", "value": "%{JS: value('QtVersion').IsQt6}" },
{ "key": "MainCppFileName", "value": "%{JS: 'main.' + Util.preferredSuffix('text/x-c++src')}" },
{ "key": "QtQuickVersion", "value": "%{JS: value('QtVersion').QtQuickVersion}" },
{ "key": "QtQuickControlsVersion", "value": "%{JS: value('QtVersion').QtQuickControlsVersion}" },
{ "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" },
{ "key": "QtQuickControlsStyle", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyle}" },
{ "key": "QtQuickControlsStyleTheme", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyleTheme}" },
{ "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" },
{ "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQt.6.2' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" },
{ "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" },
{ "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" },
{ "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" }
{ "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" },
{ "key": "AdditionalQmlFiles", "value": "HomeForm.ui.qml Page1Form.ui.qml Page2Form.ui.qml" }
],
"pages":
@@ -89,12 +91,13 @@
"items":
[
{
"trKey": "Qt 6",
"trKey": "Qt 6.2",
"value":
{
"QtQuickVersion": "",
"QtQuickControlsVersion": "",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard",
"IsQt6": true
}
},
{
@@ -103,7 +106,8 @@
{
"QtQuickVersion": "2.15",
"QtQuickControlsVersion": "2.15",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.15"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.15",
"IsQt6": false
}
},
{
@@ -112,7 +116,8 @@
{
"QtQuickVersion": "2.14",
"QtQuickControlsVersion": "2.14",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.14"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.14",
"IsQt6": false
}
},
{
@@ -121,7 +126,8 @@
{
"QtQuickVersion": "2.13",
"QtQuickControlsVersion": "2.13",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4",
"IsQt6": false
}
},
{
@@ -130,7 +136,8 @@
{
"QtQuickVersion": "2.12",
"QtQuickControlsVersion": "2.5",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4",
"IsQt6": false
}
}
]
@@ -250,7 +257,7 @@
"condition": "%{JS: value('BuildSystem') === 'qmake'}"
},
{
"source": "../CMakeLists.txt",
"source": "%{JS: value('QtVersion').IsQt6 ? '../CMakeLists.6.x.txt' : '../CMakeLists.txt'}",
"target": "CMakeLists.txt",
"openAsProject": true,
"condition": "%{JS: value('BuildSystem') === 'cmake'}"
@@ -287,7 +294,8 @@
"target": "qtquickcontrols2.conf"
},
{
"source": "qml.qrc"
"source": "qml.qrc",
"condition": "%{JS: !value('QtVersion').IsQt6}"
},
{
"source": "../../translation.ts",

View File

@@ -16,16 +16,18 @@
{ "key": "ProFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'pro')}" },
{ "key": "QbsFile", "value": "%{JS: Util.fileName(value('ProjectDirectory') + '/' + value('ProjectName'), 'qbs')}" },
{ "key": "CMakeFile", "value": "%{ProjectDirectory}/CMakeLists.txt" },
{ "key": "IsQt6", "value": "%{JS: value('QtVersion').IsQt6}" },
{ "key": "MainCppFileName", "value": "%{JS: 'main.' + Util.preferredSuffix('text/x-c++src')}" },
{ "key": "QtQuickVersion", "value": "%{JS: value('QtVersion').QtQuickVersion}" },
{ "key": "QtQuickControlsVersion", "value": "%{JS: value('QtVersion').QtQuickControlsVersion}" },
{ "key": "QtQuickVirtualKeyboardImport", "value": "%{JS: value('QtVersion').QtQuickVirtualKeyboardImport}" },
{ "key": "QtQuickControlsStyle", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyle}" },
{ "key": "QtQuickControlsStyleTheme", "value": "%{JS: value('ControlsStyle').QtQuickControlsStyleTheme}" },
{ "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQtQuick.6' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" },
{ "key": "QtQuickFeature", "value": "%{JS: (value('QtQuickVersion')=='') ? 'QtSupport.Wizards.FeatureQt.6.2' : 'QtSupport.Wizards.FeatureQtQuick.%{QtQuickVersion}'}" },
{ "key": "UseVirtualKeyboardByDefault", "value": "%{JS: value('Plugins').indexOf('Boot2Qt') >= 0 || value('Plugins').indexOf('Boot2QtQdb') >= 0}" },
{ "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" },
{ "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" }
{ "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" },
{ "key": "AdditionalQmlFiles", "value": "Page1Form.ui.qml Page2Form.ui.qml" }
],
"pages":
@@ -89,12 +91,13 @@
"items":
[
{
"trKey": "Qt 6",
"trKey": "Qt 6.2",
"value":
{
"QtQuickVersion": "",
"QtQuickControlsVersion": "",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard",
"IsQt6": true
}
},
{
@@ -103,7 +106,8 @@
{
"QtQuickVersion": "2.15",
"QtQuickControlsVersion": "2.15",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.15"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.15",
"IsQt6": false
}
},
{
@@ -112,7 +116,8 @@
{
"QtQuickVersion": "2.14",
"QtQuickControlsVersion": "2.14",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.14"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.14",
"IsQt6": false
}
},
{
@@ -121,7 +126,8 @@
{
"QtQuickVersion": "2.13",
"QtQuickControlsVersion": "2.13",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4",
"IsQt6": false
}
},
{
@@ -130,7 +136,8 @@
{
"QtQuickVersion": "2.12",
"QtQuickControlsVersion": "2.5",
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4"
"QtQuickVirtualKeyboardImport": "QtQuick.VirtualKeyboard 2.4",
"IsQt6": false
}
}
]
@@ -250,7 +257,7 @@
"condition": "%{JS: value('BuildSystem') === 'qmake'}"
},
{
"source": "../CMakeLists.txt",
"source": "%{JS: value('QtVersion').IsQt6 ? '../CMakeLists.6.x.txt' : '../CMakeLists.txt'}",
"target": "CMakeLists.txt",
"openAsProject": true,
"condition": "%{JS: value('BuildSystem') === 'cmake'}"
@@ -283,7 +290,8 @@
"target": "qtquickcontrols2.conf"
},
{
"source": "qml.qrc"
"source": "qml.qrc",
"condition": "%{JS: !value('QtVersion').IsQt6}"
},
{
"source": "../../translation.ts",