ui逻辑完成
This commit is contained in:
parent
ba396aca66
commit
fa0b08c548
@ -1,15 +1,87 @@
|
||||
#include "MainWidget.h"
|
||||
#include "./ui_MainWidget.h"
|
||||
|
||||
MainWidget::MainWidget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::MainWidget)
|
||||
MainWidget::MainWidget(QWidget* parent) : QWidget(parent), ui(new Ui::MainWidget)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
19
MainWidget.h
19
MainWidget.h
@ -1,10 +1,16 @@
|
||||
#ifndef MAINWIDGET_H
|
||||
#define MAINWIDGET_H
|
||||
|
||||
#include <QDir>
|
||||
#include <QFileDialog>
|
||||
#include <QLineEdit>
|
||||
#include <QMessageBox>
|
||||
#include <QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace Ui { class MainWidget; }
|
||||
namespace Ui {
|
||||
class MainWidget;
|
||||
}
|
||||
QT_END_NAMESPACE
|
||||
|
||||
class MainWidget : public QWidget
|
||||
@ -15,6 +21,17 @@ public:
|
||||
MainWidget(QWidget* parent = nullptr);
|
||||
~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:
|
||||
Ui::MainWidget* ui;
|
||||
};
|
||||
|
@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>760</width>
|
||||
<width>1026</width>
|
||||
<height>739</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -87,7 +87,7 @@
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_2"/>
|
||||
<widget class="QLineEdit" name="edQtDir"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnSelectQt">
|
||||
@ -125,7 +125,7 @@
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_3"/>
|
||||
<widget class="QLineEdit" name="edOutDir"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnSelectOut">
|
||||
@ -148,14 +148,14 @@
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnAdd">
|
||||
<widget class="QPushButton" name="btnAddEnv">
|
||||
<property name="text">
|
||||
<string>添加</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnAddEnv">
|
||||
<widget class="QPushButton" name="btnDelEnv">
|
||||
<property name="text">
|
||||
<string>删除</string>
|
||||
</property>
|
||||
@ -177,7 +177,7 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QListView" name="listView"/>
|
||||
<widget class="QListWidget" name="listWidget"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||
|
Loading…
x
Reference in New Issue
Block a user