㈠ 如何使用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的運行用戶方法不安全