ui逻辑完成

This commit is contained in:
taynpg 2024-04-11 13:08:05 +08:00
parent ba396aca66
commit fa0b08c548
3 changed files with 104 additions and 15 deletions

View File

@ -1,15 +1,87 @@
#include "MainWidget.h" #include "MainWidget.h"
#include "./ui_MainWidget.h" #include "./ui_MainWidget.h"
MainWidget::MainWidget(QWidget *parent) MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget)
: QWidget(parent)
, ui(new Ui::MainWidget)
{ {
ui->setupUi(this); ui->setupUi(this);
setWindowTitle("打包Qt工具");
connect_operator();
} }
MainWidget::~MainWidget() MainWidget::~MainWidget() { delete ui; }
void MainWidget::connect_operator()
{ {
delete ui; connect(ui->btnSelcetBinary, &QPushButton::clicked, this, [=]() { SelectFile(this, ui->edBinary, "请选择Qt二进制文件", "所有文件 (*)"); });
connect(ui->btnSelectOut, &QPushButton::clicked, this, [=]() { SelectDirectory(this, ui->edOutDir); });
connect(ui->btnSelectQt, &QPushButton::clicked, this, [=]() { SelectDirectory(this, ui->edQtDir); });
connect(ui->btnAddEnv, &QPushButton::clicked, this, [=]() { add_env_btn(); });
connect(ui->btnDelEnv, &QPushButton::clicked, this, [=]() { del_env_btn(); });
connect(ui->btnGenerate, &QPushButton::clicked, this, [=]() { generate(); });
} }
void MainWidget::add_env_btn()
{
QString env = SelectDirectory(this, nullptr);
if (env.isEmpty()) {
return;
}
ui->listWidget->addItem(env);
}
void MainWidget::generate()
{
}
void MainWidget::del_env_btn()
{
QListWidgetItem* item = ui->listWidget->currentItem();
if (!item) {
return;
}
delete ui->listWidget->takeItem(ui->listWidget->currentRow());
}
QString MainWidget::SelectDirectory(QWidget* parent, QLineEdit* pEdit, const QString& pre_path)
{
QString start_path = pre_path;
QDir folder(start_path);
if (start_path.isEmpty() || !folder.exists()) {
start_path = QDir::homePath();
}
QString selectedDirectory = QFileDialog::getExistingDirectory(parent, u8"选择文件夹", start_path);
if (selectedDirectory.isEmpty()) {
return "";
}
if (pEdit) {
pEdit->setText(selectedDirectory);
}
return selectedDirectory;
}
QString MainWidget::SelectFile(QWidget* parent, QLineEdit* pEdit, const QString& info, const QString& filter)
{
QString filePath = QFileDialog::getOpenFileName(parent, info, QDir::homePath(), filter);
if (!filePath.isEmpty() && !pEdit) {
pEdit->setText(filePath);
}
return filePath;
}
bool MainWidget::isOk(QWidget* parent, const QString& title, const QString& content)
{
QMessageBox questionBox(parent);
questionBox.setText(content);
questionBox.setWindowTitle(title);
questionBox.setIcon(QMessageBox::Question);
questionBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
int result = questionBox.exec();
if (result != QMessageBox::Yes) {
return false;
} else {
return true;
}
}

View File

@ -1,10 +1,16 @@
#ifndef MAINWIDGET_H #ifndef MAINWIDGET_H
#define MAINWIDGET_H #define MAINWIDGET_H
#include <QDir>
#include <QFileDialog>
#include <QLineEdit>
#include <QMessageBox>
#include <QWidget> #include <QWidget>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
namespace Ui { class MainWidget; } namespace Ui {
class MainWidget;
}
QT_END_NAMESPACE QT_END_NAMESPACE
class MainWidget : public QWidget class MainWidget : public QWidget
@ -15,6 +21,17 @@ public:
MainWidget(QWidget* parent = nullptr); MainWidget(QWidget* parent = nullptr);
~MainWidget(); ~MainWidget();
private:
void connect_operator();
void add_env_btn();
void del_env_btn();
void generate();
private:
static QString SelectDirectory(QWidget* parent, QLineEdit* pEdit, const QString& pre_path = "");
static QString SelectFile(QWidget* parent, QLineEdit* pEdit, const QString& info, const QString& filter);
static bool isOk(QWidget* parent, const QString& title, const QString& content);
private: private:
Ui::MainWidget* ui; Ui::MainWidget* ui;
}; };

View File

@ -6,7 +6,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>760</width> <width>1026</width>
<height>739</height> <height>739</height>
</rect> </rect>
</property> </property>
@ -87,7 +87,7 @@
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<item> <item>
<widget class="QLineEdit" name="lineEdit_2"/> <widget class="QLineEdit" name="edQtDir"/>
</item> </item>
<item> <item>
<widget class="QPushButton" name="btnSelectQt"> <widget class="QPushButton" name="btnSelectQt">
@ -125,7 +125,7 @@
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_6"> <layout class="QHBoxLayout" name="horizontalLayout_6">
<item> <item>
<widget class="QLineEdit" name="lineEdit_3"/> <widget class="QLineEdit" name="edOutDir"/>
</item> </item>
<item> <item>
<widget class="QPushButton" name="btnSelectOut"> <widget class="QPushButton" name="btnSelectOut">
@ -148,14 +148,14 @@
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_7"> <layout class="QHBoxLayout" name="horizontalLayout_7">
<item> <item>
<widget class="QPushButton" name="btnAdd"> <widget class="QPushButton" name="btnAddEnv">
<property name="text"> <property name="text">
<string>添加</string> <string>添加</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="btnAddEnv"> <widget class="QPushButton" name="btnDelEnv">
<property name="text"> <property name="text">
<string>删除</string> <string>删除</string>
</property> </property>
@ -177,7 +177,7 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QListView" name="listView"/> <widget class="QListWidget" name="listWidget"/>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_8"> <layout class="QHBoxLayout" name="horizontalLayout_8">