qt运行cmd命令_cmd ping大包命令

qt运行cmd命令_cmd ping大包命令0-问题描述在实现QT调用外部程序cmd.exe的时候传回来的参数需要显示在textbrowser控件上,但是一直等待数据全部接受完毕会才显示,会导致页面卡死的假象,所以下面利用append()进行每次都更新,可以很好的解决这个问题。1-解决方案//mainwindow.cpp文件,主界面实现#include”mainwindow.h”#include”ui_mainwindow.h…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

0-问题描述

在实现QT调用外部程序cmd.exe的时候传回来的参数需要显示在textbrowser控件上,但是一直等待数据全部接受完毕会才显示,会导致页面卡死的假象,所以下面利用append()进行每次都更新,可以很好的解决这个问题。

1-解决方案

//mainwindow.cpp文件,主界面实现
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qdebug.h>
#include <qprocess.h>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow){ 
   
    ui->setupUi(this);
}
MainWindow::~MainWindow(){ 
   
    delete ui;
}
void MainWindow::on_btnPing_clicked(){ 
   
    qDebug()<<QStringLiteral("开始点击");
    ui->textBrowser->clear();
    ui->textBrowser->setText(QStringLiteral("请等待"));
    ui->textBrowser->update();

    QProcess myProcess(this);
    QString program = "C:/Windows/System32/cmd.exe";
    QStringList arguments;
    arguments <<"/c" <<"ping www.baidu.com";
    myProcess.start(program,arguments);

    while (myProcess.waitForFinished(100) == false) { 
   
        QByteArray qByteRead = myProcess.readAllStandardOutput();
        if (!qByteRead.isEmpty()) { 
   
            ui->textBrowser->append(QString::fromLocal8Bit(qByteRead));
            repaint();
        }
    }
    QByteArray qByteRead = myProcess.readAllStandardOutput();
    ui->textBrowser->append(QString::fromLocal8Bit(qByteRead));

    qDebug()<<QString::fromLocal8Bit(qByteRead);
    qDebug()<<"结束点击";
}
  • 下面是会假死的方式
    QProcess myProcess(this);
    QString program = "C:/Windows/System32/cmd.exe";
    QStringList arguments;
    arguments <<"/c" <<"ping www.baidu.com";
    myProcess.start(program,arguments);
    myProcess.waitForFinished();
    QString qstr = QString::fromLocal8Bit(myProcess.readAllStandardOutput());
    ui->textBrowser->setText(qstr);

这篇文章也可以作为参考:外部程序与QT传参
PS:公众号上线啦,技术干货分享,欢迎关注。


qt运行cmd命令_cmd ping大包命令

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193461.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 复试–完数

    复试–完数

  • 一点ASMM总结

    一点ASMM总结Oracle的SGA内存结构:BufferCache数据库高速缓存DefaultPool默认的缓冲池,大小由DB_CACHE_SIZE决定KeepPool…

  • C++实现矩阵类(附代码和功能)

    C++实现矩阵类(附代码和功能)本文由两部分组成,第一部分介绍一个在win10系统上运行的exe程序,第二部分介绍通过C++实现矩阵运算的方法(功能会更强大,但不如exe文件操作方便)。用户界面如下,能够实现矩阵的加、减、乘、除运算,以及矩阵的转置,求逆,求行列式的值等。读者可以在下载该程序,直接在自己的电脑上运行。下载地址:https://download.csdn.net/do…

  • ios屏幕旋转设置_旋转平移和缩放

    ios屏幕旋转设置_旋转平移和缩放目录(?)[-]一如何设置AnchorPoint二如何获得AnchorPoint经常会遇到需求,要求手势的缩放或者旋转操作,要求动作变化围绕某一个特定点,或者是两指的中心点,或者是某一个点。这个问题首先要清晰的知道,iOS各个view的层次关系。特别是,要清楚的知道,当前view的frame与superView的bounds是一个坐标

  • java之模糊查询「建议收藏」

    java之模糊查询「建议收藏」1.场景还原由于项目中有很多地方设置了搜索框,所以搜索框之模糊查询势在必得;今晚笔者将详细讲解java之模糊查询的细节及要点,希望能给大伙带来启发。2.实现方案后台代码:①UserInfo实体类的定义publicclassUserInfo{privateStringusername;privateIntegerage;pr

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号