#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QLineEdit>
#include <QPushButton>
#include <QTextEdit>
#include <QRegularExpression>
class PathConverter : public QWidget {
Q_OBJECT
public:
PathConverter(QWidget *parent = nullptr) : QWidget(parent) {
auto *layout = new QVBoxLayout(this);
inputEdit = new QLineEdit(this);
inputEdit->setPlaceholderText("请输入路径");
layout->addWidget(inputEdit);
convertButton = new QPushButton("转换路径", this);
connect(convertButton, &QPushButton::clicked, this, &PathConverter::onConvertClicked);
layout->addWidget(convertButton);
outputEdit = new QTextEdit(this);
outputEdit->setReadOnly(true); // 设置为只读
outputEdit->setLineWrapMode(QTextEdit::NoWrap); // 设置行换行模式
layout->addWidget(outputEdit);
}
private slots:
void onConvertClicked() {
QString path = inputEdit->text();
QRegularExpression re("\\\\");
QRegularExpressionMatchIterator it = re.globalMatch(path);
QString convertedPath = it.hasNext() ? path.replace(re, "/") : path;
outputEdit->setText(convertedPath);
}
private:
QLineEdit *inputEdit;
QPushButton *convertButton;
QTextEdit *outputEdit;
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
PathConverter window;
window.show();
return app.exec();
}
#include "main.moc"