QT中调用外部程序_QProcess的使用.docVIP

  • 1
  • 0
  • 约4.69千字
  • 约 9页
  • 2019-12-23 发布于湖北
  • 举报
QT中调用外部程序:QProcess的使用 本文通过QProcess,实现了在Qt中调用外部程序(控制台程序),并将输出重定向到了一个QTextEdit里。效果如下图所示: 运行界面如下: 程序共包含以下有一个文件: view plaincopy to clipboardprint? //: main.cpp #include process.h #include QApplication #include QTextCodec int main(int argc, char *argv[]) { QApplication a(argc, argv); QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); Process w; w.show(); return a.exec(); } //: main.cpp #include process.h #include QApplication #include QTextCodec int main(int argc, char *argv[]) { QApplication a(argc, argv); QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); Process w; w.show(); return a.exec(); } view plaincopy to clipboardprint? //: process.h #ifndef PROCESS_H #define PROCESS_H #include QWidget class QLabel; class QLineEdit; class QProcess; class QPushButton; class QTextEdit; class Process : public QWidget { Q_OBJECT public: Process(QWidget *parent = 0, Qt::WFlags flags = 0); ~Process(); private slots: void runClicked(); void readOutput(); private: QProcess* cmd; QString output; QLabel* inputLabel; QLineEdit* inputEdit; QPushButton* runButton; QLabel* outputLabel; QTextEdit* outputEdit; }; #endif // PROCESS_H //: process.h #ifndef PROCESS_H #define PROCESS_H #include QWidget class QLabel; class QLineEdit; class QProcess; class QPushButton; class QTextEdit; class Process : public QWidget { Q_OBJECT public: Process(QWidget *parent = 0, Qt::WFlags flags = 0); ~Process(); private slots: void runClicked(); void readOutput(); private: QProcess* cmd; QString output; QLabel* inputLabel; QLineEdit* inputEdit; QPushButton* runButton; QLabel* outputLabel; QTextEdit* outputEdit; }; #

文档评论(0)

1亿VIP精品文档

相关文档