转码工具页面功能

This commit is contained in:
taocong
2026-05-25 10:18:19 +08:00
commit 3db5fe7f13
107 changed files with 8591 additions and 0 deletions
@@ -0,0 +1,153 @@
#include "functionsearchpage.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QHeaderView>
#include <QFileDialog>
#include <QMessageBox>
#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QSet>
FunctionSearchPage::FunctionSearchPage(QWidget *parent)
: QWidget(parent)
{
initUI();
}
FunctionSearchPage::~FunctionSearchPage()
{
}
void FunctionSearchPage::initUI()
{
QVBoxLayout *mainLayout = new QVBoxLayout(this);
mainLayout->setContentsMargins(30, 30, 30, 30);
mainLayout->setSpacing(15);
m_tabWidget = new QTabWidget;
// ==========================================
// Tab 1: UF20功能搜索
// ==========================================
QWidget *uf20Tab = new QWidget;
QVBoxLayout *uf20Layout = new QVBoxLayout(uf20Tab);
uf20Layout->setSpacing(15);
QHBoxLayout *uf20SearchLayout = new QHBoxLayout;
m_uf20SearchEdit = new QLineEdit;
m_uf20SearchEdit->setPlaceholderText("输入功能名称或关键词搜索...");
m_uf20SearchBtn = new QPushButton("搜索");
m_uf20SearchBtn->setStyleSheet("padding: 8px 25px;");
connect(m_uf20SearchBtn, &QPushButton::clicked, this, &FunctionSearchPage::onSearchUF20);
connect(m_uf20SearchEdit, &QLineEdit::returnPressed, this, &FunctionSearchPage::onSearchUF20);
connect(m_uf20SearchEdit, &QLineEdit::textChanged, this, &FunctionSearchPage::onUF20SearchTextChanged);
uf20SearchLayout->addWidget(m_uf20SearchEdit);
uf20SearchLayout->addWidget(m_uf20SearchBtn);
uf20Layout->addLayout(uf20SearchLayout);
m_uf20ResultTable = new QTableWidget;
m_uf20ResultTable->setColumnCount(4);
m_uf20ResultTable->setHorizontalHeaderLabels({"功能名称", "功能类型", "所属模块", "文件路径"});
m_uf20ResultTable->horizontalHeader()->setStretchLastSection(true);
m_uf20ResultTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
m_uf20ResultTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
m_uf20ResultTable->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
m_uf20ResultTable->setSelectionBehavior(QAbstractItemView::SelectRows);
m_uf20ResultTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
m_uf20ResultTable->setAlternatingRowColors(true);
uf20Layout->addWidget(m_uf20ResultTable);
m_uf20StatusLabel = new QLabel("请输入关键词搜索UF20功能");
uf20Layout->addWidget(m_uf20StatusLabel);
m_tabWidget->addTab(uf20Tab, "UF20功能");
// ==========================================
// Tab 2: UFT3功能搜索
// ==========================================
QWidget *uft3Tab = new QWidget;
QVBoxLayout *uft3Layout = new QVBoxLayout(uft3Tab);
uft3Layout->setSpacing(15);
QHBoxLayout *uft3SearchLayout = new QHBoxLayout;
m_uft3SearchEdit = new QLineEdit;
m_uft3SearchEdit->setPlaceholderText("输入功能名称或关键词搜索...");
m_uft3SearchBtn = new QPushButton("搜索");
m_uft3SearchBtn->setStyleSheet("padding: 8px 25px;");
connect(m_uft3SearchBtn, &QPushButton::clicked, this, &FunctionSearchPage::onSearchUFT3);
connect(m_uft3SearchEdit, &QLineEdit::returnPressed, this, &FunctionSearchPage::onSearchUFT3);
connect(m_uft3SearchEdit, &QLineEdit::textChanged, this, &FunctionSearchPage::onUFT3SearchTextChanged);
uft3SearchLayout->addWidget(m_uft3SearchEdit);
uft3SearchLayout->addWidget(m_uft3SearchBtn);
uft3Layout->addLayout(uft3SearchLayout);
m_uft3ResultTable = new QTableWidget;
m_uft3ResultTable->setColumnCount(4);
m_uft3ResultTable->setHorizontalHeaderLabels({"功能名称", "功能类型", "所属模块", "文件路径"});
m_uft3ResultTable->horizontalHeader()->setStretchLastSection(true);
m_uft3ResultTable->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
m_uft3ResultTable->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
m_uft3ResultTable->horizontalHeader()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
m_uft3ResultTable->setSelectionBehavior(QAbstractItemView::SelectRows);
m_uft3ResultTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
m_uft3ResultTable->setAlternatingRowColors(true);
uft3Layout->addWidget(m_uft3ResultTable);
m_uft3StatusLabel = new QLabel("请输入关键词搜索UFT3功能");
uft3Layout->addWidget(m_uft3StatusLabel);
m_tabWidget->addTab(uft3Tab, "UFT3功能");
mainLayout->addWidget(m_tabWidget);
}
void FunctionSearchPage::onSearchUF20()
{
QString keyword = m_uf20SearchEdit->text().trimmed();
if (keyword.isEmpty()) {
m_uf20StatusLabel->setText("请输入搜索关键词");
return;
}
m_uf20ResultTable->setRowCount(0);
m_uf20StatusLabel->setText(QString("正在搜索 \"%1\"...").arg(keyword));
m_uf20ResultTable->insertRow(0);
m_uf20ResultTable->setItem(0, 0, new QTableWidgetItem(keyword));
m_uf20ResultTable->setItem(0, 1, new QTableWidgetItem("-"));
m_uf20ResultTable->setItem(0, 2, new QTableWidgetItem("-"));
m_uf20ResultTable->setItem(0, 3, new QTableWidgetItem("-"));
m_uf20StatusLabel->setText(QString("搜索完成,共找到 1 条结果"));
}
void FunctionSearchPage::onSearchUFT3()
{
QString keyword = m_uft3SearchEdit->text().trimmed();
if (keyword.isEmpty()) {
m_uft3StatusLabel->setText("请输入搜索关键词");
return;
}
m_uft3ResultTable->setRowCount(0);
m_uft3StatusLabel->setText(QString("正在搜索 \"%1\"...").arg(keyword));
m_uft3ResultTable->insertRow(0);
m_uft3ResultTable->setItem(0, 0, new QTableWidgetItem(keyword));
m_uft3ResultTable->setItem(0, 1, new QTableWidgetItem("-"));
m_uft3ResultTable->setItem(0, 2, new QTableWidgetItem("-"));
m_uft3ResultTable->setItem(0, 3, new QTableWidgetItem("-"));
m_uft3StatusLabel->setText(QString("搜索完成,共找到 1 条结果"));
}
void FunctionSearchPage::onUF20SearchTextChanged(const QString &text)
{
Q_UNUSED(text);
}
void FunctionSearchPage::onUFT3SearchTextChanged(const QString &text)
{
Q_UNUSED(text);
}