Obsolete Members for QProcess

以下成员源于类 QProcess 已过时。 提供它们是为使旧源代码能继续工作。强烈建议不要在新代码中使用它们。

公共函数

(obsolete) QStringList environment () const
(obsolete) Q_PID pid () const
(obsolete) QProcess::ProcessChannelMode readChannelMode () const
(obsolete) void setEnvironment (const QStringList & environment )
(obsolete) void setReadChannelMode (QProcess::ProcessChannelMode mode )
(obsolete) void start (const QString & command , QIODevice::OpenMode mode = ReadWrite)

信号

(obsolete) void error (QProcess::ProcessError error )
(obsolete) void finished (int exitCode )

静态公共成员

(obsolete) int execute (const QString & command )
(obsolete) bool startDetached (const QString & command )

成员函数文档编制

[signal] void QProcess:: error ( QProcess::ProcessError error )

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

使用 errorOccurred () 代替。

注意: 信号 error 在此类中被重载。通过使用函数指针句法连接到此信号,Qt 提供用于获得如此范例展示的函数指针的方便帮助程序:

connect(process, QOverload<QProcess::ProcessError>::of(&QProcess::error),
    [=](QProcess::ProcessError error){ /* ... */ });
					

[signal] void QProcess:: finished ( int exitCode )

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

这是重载函数。

Use finished(int exitCode , QProcess::ExitStatus status) instead.

注意: 信号 finished 在此类中被重载。通过使用函数指针句法连接到此信号,Qt 提供用于获得如此范例展示的函数指针的方便帮助程序:

connect(process, QOverload<int>::of(&QProcess::finished),
    [=](int exitCode){ /* ... */ });
					

QStringList QProcess:: environment () const

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

返回环境从 QProcess will pass to its child process, or an empty QStringList if no environment has been set using setEnvironment ()。若没有设置环境,将使用调用进程的环境。

另请参阅 processEnvironment (), setEnvironment (),和 systemEnvironment ().

[static] int QProcess:: execute (const QString & command )

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

这是重载函数。

启动程序 command in a new process, waits for it to finish, and then returns the exit code.

自变量处理分别等同 start () 重载。

之后 command 字符串被拆分并取消引号,此函数的行为像接受字符串列表作为自变量的重载。

另请参阅 start () 和 splitCommand ().

Q_PID QProcess:: pid () const

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

使用 processId () 代替。

返回正在运行进程的本机进程标识符,若可用。若目前没有进程正在运行, 0 被返回。

注意: 不像 processId (), pid() returns an integer on Unix and a pointer on Windows.

另请参阅 Q_PID and processId ().

QProcess::ProcessChannelMode QProcess:: readChannelMode () const

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

Returns the read channel mode of the QProcess . This function is equivalent to processChannelMode ()

另请参阅 setReadChannelMode () 和 processChannelMode ().

void QProcess:: setEnvironment (const QStringList & environment )

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

Sets the environment that QProcess will pass to the child process. The parameter environment is a list of key=value pairs.

例如,以下代码添加环境变量 TMPDIR :

QProcess process;
QStringList env = QProcess::systemEnvironment();
env << "TMPDIR=C:\\MyApp\\temp"; // Add an environment variable
process.setEnvironment(env);
process.start("myapp");
					

注意: This function is less efficient than the setProcessEnvironment () 函数。

另请参阅 environment (), setProcessEnvironment (),和 systemEnvironment ().

void QProcess:: setReadChannelMode ( QProcess::ProcessChannelMode mode )

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

使用 setProcessChannelMode ( mode ) 代替。

另请参阅 readChannelMode () 和 setProcessChannelMode ().

void QProcess:: start (const QString & command , QIODevice::OpenMode mode = ReadWrite)

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

这是重载函数。

启动命令 command 按新进程。 OpenMode 被设为 mode .

command 是包含程序名称及其自变量的单文本字符串。自变量由一个或多个空格分隔。例如:

QProcess process;
process.start("del /s *.txt");
// same as process.start("del", QStringList() << "/s" << "*.txt");
...
					

必须引用包含空格的自变量才能被正确提供给新进程。例如:

QProcess process;
process.start("dir \"My Documents\"");
					

文字引号在 command 字符串由 3 引号表示。例如:

QProcess process;
process.start("dir \"Epic 12\"\"\" Singles\"");
					

之后 command 字符串被拆分并取消引号,此函数的行为像接受字符串列表作为自变量的重载。

可以禁用此重载通过定义 QT_NO_PROCESS_COMBINED_ARGUMENT_START when you compile your applications. This can be useful if you want to ensure that you are not splitting arguments unintentionally, for example. In virtually all cases, using the other overload is the preferred method.

在将命令行自变量传递给子进程的本机系统 API 使用单字符串的 Windows 操作系统,可以设想无法传递命令行凭借 QProcess 的基于列表的可移植 API。在这些罕见情况下,需要使用 setProgram () 和 setNativeArguments () 而不是此函数。

另请参阅 splitCommand ().

[static] bool QProcess:: startDetached (const QString & command )

此函数已过时。提供它是为使旧源代码能继续工作。强烈建议不要在新代码中使用它。

此函数重载 startDetached()。

启动命令 command 按新进程中,并与之分离。返回 true 当成功时;否则返回 false .

自变量处理分别等同 start () 重载。

之后 command 字符串被拆分并取消引号,此函数的行为像接受字符串列表作为自变量的重载。

另请参阅 start (const QString &command, QIODevice::OpenMode mode) and splitCommand ().