代码拉取完成,页面将自动刷新
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QProcess>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow),
process(nullptr)
{
ui->setupUi(this);
connect(ui->searchButton, &QPushButton::clicked, this, &MainWindow::onSearchButton);
process = new QProcess(this);
connect(process, QOverload<int, QProcess::ExitStatus>::of(&QProcess::finished), this, &MainWindow::showResult);
connect(process, &QProcess::readyReadStandardOutput, this, &MainWindow::onReadResult);
connect(process, &QProcess::readyReadStandardError, this, &MainWindow::onReadError);
}
void MainWindow::onSearchButton()
{
qDebug() << "User clicked on the button!";
ui->searchResult->clear();
ui->errorResult->clear();
// if (process)
// {
// delete process;
// }
QString agFile = "/usr/local/bin/ag";
// QStringList arguments;
// arguments.append("-C");
// arguments.append("--filename");
//// arguments.append("-H");
// arguments.append("BTREE");
// // must use absoulte dir below
// arguments.append("/Users/choice/code/CopyQ");
//// arguments.append(">temp.txt");
//// arguments.append("~/code/c");
QString exeFile = "/usr/local/opt/coreutils/libexec/gnubin/cat";
QStringList arguments;
arguments.append("/Users/choice/test_qt.txt");
process->setStandardOutputFile("/Users/choice/test_cat.txt");
process->start(exeFile, arguments);
}
void MainWindow::showResult(int exitCode, QProcess::ExitStatus exitStatus)
{
qDebug() << exitCode << " " << exitStatus;
qDebug() << "process finished!";
}
void MainWindow::onReadResult()
{
qDebug() << "process onReadResult!";
auto output = process->readAllStandardOutput();
auto result = QString::fromUtf8(output);
qDebug() << result;
ui->searchResult->appendPlainText(result);
}
void MainWindow::onReadError()
{
auto error = process->readAllStandardError();
auto result = QString::fromUtf8(error);
qDebug() << result;
ui->errorResult->appendPlainText(result);
}
MainWindow::~MainWindow()
{
if (process)
{
delete process;
}
delete ui;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。