QT(2)-通过管道关联CMD

1.工程建立

mainwindow.cpp

复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTextCodec>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
QString::fromLocal8Bit("中文");
    this->pro = new QProcess;
    this->setWindowFlags(Qt::WindowCloseButtonHint);//设置窗口只有一个关闭按钮
//    Qt::CustomizeWindowHint 标题栏也没有 按钮也没有
//    Qt::WindowTitleHint 窗口只有一个关闭按钮
//    Qt::WindowSystemMenuHint窗口只有一个关闭按钮
//    Qt::WindowCloseButtonHint窗口只有一个关闭按钮
//    Qt::WindowMaximizeButtonHint 最小化按钮不可用,关闭按钮不可用,也就是只有最大化可用
//    Qt::WindowMinimizeButtonHint 还原按钮不可用
//    Qt::SubWindow 窗口没有按钮但是有标题栏
//    Qt::Desktop 没有显示在桌面也没在任务。但是任务管里器里还是有的
//    Qt::SplashScreen 标题栏也没有 按钮也没有在那里出现就站在那里不到,也不能移动和拖到,任务栏右击什么也没有,任务栏窗口名也没有,可以任务栏关闭
//    Qt::ToolTip 选了这个就等死吧......可以试试
//    Qt::Tool 有一个小小的关闭按钮

    QObject::connect(ui->send_edit,SIGNAL(returnPressed()),this,SLOT(on_pushButton_clicked())); //对ui->lineEdit进行信号和槽连接,光标在ui->lineEdit内时按回车键,达到同点击运行按钮一样的效果
    QObject::connect(pro,SIGNAL(readyRead()),this,SLOT(readOutput()));//当准备从进程里读取数据的时候触发输出数据的槽
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QString cmd = ui->send_edit->toPlainText();
    pro->start(cmd);
    QString out;
    ui->textEdit->setText(out);
}

//从进程中读取数据槽
void MainWindow::readOutput()
{
   // ipconfig
    QTextCodec * codec = QTextCodec::codecForName("gbk");//指定只能读gbk格式的文件
    ui->textEdit->setPlainText(codec->toUnicode(pro->readAll()));
}

mainwindows.h

复制代码
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QProcess>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();
    void readOutput();//从进程中读取数据槽

private:
    Ui::MainWindow *ui;
    QProcess *pro;//创建一个进程对象
};
#endif // MAINWINDOW_H

UI设计

2.测试

测试dds

相关推荐
Deep-w2 小时前
【MATLAB】基于离散 LQR 的车辆横向轨迹跟踪控制方法研究
开发语言·算法·matlab
于先生吖2 小时前
前后端分离二手商城开发,质检登记、回收回款整套业务源码部署教程
java·开发语言·uni-app
codeejun2 小时前
每日一Go-76(架构篇)|多集群部署 / 容灾 / Failover / Backup / 热迁移
开发语言·架构·golang
战族狼魂2 小时前
从零构建企业级Hermes-Agent:复杂任务拆解、工具协同与安全落地实践
开发语言·人工智能·python
阿里嘎多学长2 小时前
2026-06-08 GitHub 热点项目精选
开发语言·程序员·github·代码托管
程序员晨曦3 小时前
Java 并发修仙传:ThreadLocal 从“闭关修炼”到“走火入魔”的救赎之路
java·开发语言
李可以量化3 小时前
量化之MiniQMT 实战:一键读取通达信自选股并实时监控涨跌幅(附完整可运行代码)
开发语言·python·量化·qmt·ptrade
嘶哈哈哈3 小时前
嘉立创 EDA 入门实操笔记:从原理图到 PCB 布线、差分对、覆铜与 DRC 检查
开发语言·笔记·php
wgc2k3 小时前
Nest.js 基础-8-Hello,NestJS
开发语言·javascript·ecmascript