diff --git a/Qml/main.qml b/Qml/main.qml index ed262d9..1cb61eb 100644 --- a/Qml/main.qml +++ b/Qml/main.qml @@ -7,6 +7,9 @@ LICENSE: MIT **********************************************************/ import QtQuick 2.0 import QtQuick.Window 2.2 +import QtQuick.Controls 2.12 +import QtQuick.Layouts 1.0 +import Qt.labs.platform 1.0 import VersionMode 1.0 import "./Common" @@ -20,7 +23,7 @@ Window { | Qt.CustomizeWindowHint | Qt.WindowSystemMenuHint | Qt.WindowMinimizeButtonHint | Qt.WindowStaysOnTopHint width: 640 - height: 480 + height: 560 title: qsTr("Qt程序打包工具v1.0.1") DropArea { @@ -63,7 +66,7 @@ Window { Column { anchors.verticalCenter: parent.verticalCenter width: parent.width - spacing: 15 + spacing: 10 ContentBar { z: 2 @@ -89,6 +92,73 @@ Window { } } + ContentBar { + z: 1 + width: parent.width + height: 40 + text: "选择构建方式" + + MyComboBox { + model: versionMode.buildTypeList + onCurrentTextChanged: versionMode.buildType = currentText + } + } + + ContentBar { + width: parent.width + height: 40 + text: "选择Qt类型" + + Row { + height: 40 + RadioButton { + id: widgetButton + checked: true + text: "widget" + width: 90 + onCheckedChanged: { + if(checked) { + versionMode.qmlDir = "" + } + } + } + + RadioButton { + id: qmlButton + text: "qml" + width: 70 + } + + TextField { + width: parent.width - qmlButton.width - widgetButton.width - qmlFileDialogButton.width + height: 40 + visible: qmlButton.checked + text: qmlFolderDialog.folder + placeholderText: "qml 文件路径" + selectByMouse: true + onTextChanged: { + versionMode.qmlDir = text + } + } + + MyButton { + visible: qmlButton.checked + id: qmlFileDialogButton + text: "..." + height: 40 + width: 30 + onClicked: { + qmlFolderDialog.open() + } + } + + FolderDialog { + id: qmlFolderDialog + } + } + + } + Item { width: parent.width height: 240 diff --git a/VersionModel.cpp b/VersionModel.cpp index 4a74b23..9909a38 100644 --- a/VersionModel.cpp +++ b/VersionModel.cpp @@ -46,6 +46,7 @@ bool VersionModel::create() qDebug()<<"[Info] "<<"Exe File: "< #include +#include class VersionModel : public QObject { Q_OBJECT Q_PROPERTY(QStringList qtVersionList READ qtVersionList NOTIFY listChanged) Q_PROPERTY(QStringList compilerVersionList READ compilerVersionList NOTIFY listChanged) + Q_PROPERTY(QStringList buildTypeList READ buildTypeList NOTIFY listChanged) Q_PROPERTY(QString qtVersion READ qtVersion WRITE setQtVersion NOTIFY statusChanged) + Q_PROPERTY(QString buildType READ buildType WRITE setBuildType NOTIFY statusChanged) Q_PROPERTY(QString compilerVersion READ compilerVersion WRITE setCompilerVersion NOTIFY statusChanged) Q_PROPERTY(QString exeFile READ exeFile WRITE setExeFile NOTIFY statusChanged) - + Q_PROPERTY(QUrl qmlDir READ qmlDir WRITE setQmlDir NOTIFY statusChanged) public: VersionModel(); @@ -28,7 +31,10 @@ class VersionModel : public QObject QStringList qtVersionList(); QStringList compilerVersionList(); + QStringList buildTypeList(); + QString buildType(); + void setBuildType(const QString &buildType); QString qtVersion(); void setQtVersion(const QString &version); @@ -39,6 +45,10 @@ class VersionModel : public QObject QString exeFile(); void setExeFile(const QString &file); + + QUrl qmlDir(); + void setQmlDir(const QUrl &dir); + signals: void listChanged(); void statusChanged(); @@ -49,7 +59,9 @@ class VersionModel : public QObject QString m_qtVersion; QString m_qtVersionDirName; QString m_compilerVersion; + QString m_buildType; QString m_exeFile; + QUrl m_qmlDir; QString m_sourceEnvPath; QProcess m_testProcess; };