㈠ 如何使用Qt 4把ls命令的结果显示到GUI界面上去
问:您好!想向您请教一些问题!现在在做论文比较急,不知能否请您给指导一下。我的系统是openSUSE 11.1, Qt版本为4.4.3。现想做一个界面,界面上有一个按钮和一个LineEdit文本框,点击按钮的时候就相当于执行了linux终端上的“ls"命令,然后结果显示到LineEdit文本框中。该怎么去做!我自己也做了一些,但是出现不少问题(Qt知识和C++知识比较缺乏),一直都没有成功!谢谢! 答:你的问题我理解大致可以分析如下: 1.如何在Qt中调用系统命令2.命令执行后如何将屏幕拷贝到GUI界面上去显示 第一个问题可以有两种解决途径:1.直接调用系统API windows下可以使用shellexecute()命令调用其他的程序或命令; Linux下可以使用exec()和system()命令,对于初学者推荐使用后者,示例:system("/root/yourname/yourdir/ls"); 2.使用QProcess 可以使用:QProcess::execute ( const QString & program, const QStringList & arguments ); 具体请可以再查阅一下Qt Assistant 第二个问题可以逐步解决,思路如下: 1.首先使用Linux下的输出重定向命令把ls命令的输出重定向到一个设备或者是文件中,示例如下: $ ls > directory.out 这表示将ls命令的输出保存为一个名为directory.out的文件。 如果>符号后边的文件已存在,那么这个文件将被重写。 文件的名称和格式你可以自己选定,设定为纯文本文件将又有助于你的下一步的操作。
㈡ qt 调用linux系统命令修改系统时间,该怎么处理
// 修改系统时间很简单 // 采用QProcess来实现QProcess::exectu("date 031210252014"); // 0312 表示3月12日,1025表示当前时分QProcess::exectu("hwclock -h); // 同步系统时间Qprocess::exectu("sync"); // 保存配置
qt 调用linux系统命令修改系统时间,直接输入代码修改系统时间即可。
㈢ linux下QT中如何使用QProcess运行linux命令。
QString program = "./path/to/Qt/examples/widgets/analogclock";
QStringList arguments;
arguments << "-style" << "motif";
QProcess *myProcess = new QProcess(parent);
myProcess->start(program, arguments);
㈣ qt 调用linux系统命令修改系统时间,该怎么处理
在php教程中调用linux命令的函数是 string exec(string command, string [array], int [return_var]); 如 exec( "vpopmail "); echo exec('whoami'); 再看一实例 function exec_enabled() { $disabled = explode(', ', ini_get('disable_functions')); return !in_array('exec', $disabled); } <?php $tmp = exec("c:\Image\gm.exe convert c:\Image\file1.tiff c:\Image\file1.jpg", $results); ?> 还有一种命令是 php通过函数system()调用系统命令。 string system ( string $command [, int &$return_var ] ) 实例 system('asterisk -vvvvvvvvvvvc'); system()是一样的函数C的,它执行给定的命令和输出结果的版本。该system()的调用也尝试自动刷新网页服务器的输出缓冲器在每个输出 行如果PHP运行作为服务器模块。如果你需要执行一个命令,并已全部通过直接从背面没有任何干扰的命令数据,使用passthru()函数。 $last_line = system('ls', $retval); function my_exec($cmd, $input='') {$proc=proc_open($cmd, array(0=>array('pipe', 'r'), 1=>array('pipe', 'w'), 2=>array('pipe', 'w')), $pipes); fwrite($pipes[0], $input);fclose($pipes[0]); $stdout=stream_get_contents($pipes[1]);fclose($pipes[1]); $stderr=stream_get_contents($pipes[2]);fclose($pipes[2]); $rtn=proc_close($proc); return array('stdout'=>$stdout, 'stderr'=>$stderr, 'return'=>$rtn ); } var_export(my_exec('echo -e $(</dev/stdin) wc -l', 'h\nel\nlo')); 实例三 $cmd = "date"; $output = system($cmd); printf("System Output: $output "); exec($cmd, $results); printf("Exec Output: {$results[0]} ");php调用linux命令的权限问题 你可以使用定时任务执行你要调用的php,这时的权限就是root, php通过函数system()调用系统命令 php一般是以apache用户身份去执行的,把apache加入到存储你文件的父文件夹属组里去,然后改该父文件夹权限为775,这样属组成员就有写的 权限,而apache属于这个组就可以改写该目录下所有文件的权限,当然,属组最好不要是root,你可以为该文件夹改个其它普通用户组。 改apache/php的运行用户方法不安全