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

相关推荐
geats人山人海16 分钟前
java 4继承
java·开发语言
aqiu11111128 分钟前
【C++算法打怪专栏】C++ `unordered_set` 常用初始化与插入方法总结
开发语言·c++·算法
众链网络40 分钟前
Agent 的成本大头不在“写“,在“判断“:拆解专用决策模型的三层架构
java·开发语言·人工智能·微服务
周小董42 分钟前
[1371]jdk管理工具
java·开发语言
Terra.K43 分钟前
高精度阶乘求和模板深度解析
开发语言·c++·算法
Hum8le1 小时前
漏洞知识点《php伪协议》
开发语言·安全·web安全·php
青春逝如流水1 小时前
Java 中线程的创建方式:从基础到现代
java·开发语言·多线程·ai文章
智码看视界1 小时前
C++智能指针全景剖析及面试20问
开发语言·c++·深度学习·面试·内存管理·智能指针
铅笔小新z1 小时前
【C语言】深入理解指针
c语言·开发语言
余醉 | dtminer2 小时前
56%的保护效应藏在乳腺密度里:Nat Commun 高分中介孟德尔随机化全 R 管线拆解(附核心图)
开发语言·r语言·孟德尔随机化