⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qprocess.h

📁 Qt/Embedded是一个多平台的C++图形用户界面应用程序框架
💻 H
字号:
/************************************************************************ Copyright (C) 2000 Trolltech AS.  All rights reserved.**** This file is part of Qt Designer.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************//* * ATTENTION: This class is not part of the Qt library yet. You should not use * it in your programs. This class will be included in a future version of Qt * with a changed API! */#ifndef QPROCESS_H#define QPROCESS_H#ifndef QT_H#include "qobject.h"#include "qstring.h"#include "qdir.h"#include "qsocketnotifier.h"#include "qqueue.h"#if defined(_OS_UNIX_)#include "qlist.h"#endif#endif // QT_H#if defined(_OS_UNIX_)#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include <sys/socket.h>#else#include <Windows.h>#endifclass QProcessPrivate;//class Q_EXPORT QProcess : public QObjectclass QProcess : public QObject{    Q_OBJECTpublic:    QProcess( QObject *parent=0, const char *name=0 );    QProcess( const QString& com, QObject *parent=0, const char *name=0 );    QProcess( const QString& com, const QStringList& args, QObject *parent=0, const char *name=0 );    ~QProcess();    // set the command, arguments, etc.    void setCommand( const QString& com );    void setArguments( const QStringList& args );    void addArgument( const QString& arg );    void setWorkingDirectory( const QDir& dir );    // control the execution    bool start();    bool hangUp();    bool kill();    // inquire the status    bool isRunning();    bool normalExit();    int exitStatus();signals:    // output    void dataStdout( const QString& buf );    void dataStdout( const QByteArray& buf );    void dataStderr( const QString& buf );    void dataStderr( const QByteArray& buf );    // notification stuff    void processExited();    void wroteStdin();public slots:    // input    void dataStdin( const QByteArray& buf );    void dataStdin( const QString& buf );    void closeStdin();private:    QProcessPrivate *d;private:#if defined( _WS_WIN_ )    QByteArray readStddev( HANDLE dev, ulong bytes = 0 );#endifprivate slots:    void socketRead( int fd );    void socketWrite( int fd );    void timeout();private:    friend class QProcessPrivate;};class QProcessPrivate{private:    QProcessPrivate( QProcess *proc );    ~QProcessPrivate();    QString     command;    QDir        workingDir;    QStringList arguments;    QQueue<QByteArray> stdinBuf;#if defined (_WS_WIN_)    HANDLE pipeStdin[2];    HANDLE pipeStdout[2];    HANDLE pipeStderr[2];    QTimer *lookup;#else    QSocketNotifier *notifierStdin;    QSocketNotifier *notifierStdout;    QSocketNotifier *notifierStderr;    int socketStdin[2];    int socketStdout[2];    int socketStderr[2];#endif#if defined(_WS_WIN_)    PROCESS_INFORMATION pid;    uint stdinBufRead;#else    pid_t pid;    ssize_t stdinBufRead;#endif#if defined(_OS_UNIX_)    QProcess *d;    static struct sigaction *oldact;    static QList<QProcess> *proclist;public:    static void sigchldHnd();private:#endif    bool exitValuesCalculated;    int  exitStat;    bool exitNormal;    friend class QProcess;};#endif // QPROCESS_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -