想請問如何使button可以開啟一個外部程式

喜歡程式設計嗎?想要一窺 KDE/Qt 程式設計的奧秘嗎?想要
學習 X Window 上的視窗程式設計嗎?歡迎各類關於 KDE/Qt、Qtopia、Qt/Embedded、QSA、PyQt 等各類心得討論。

版主: AceLan, Franklin

想請問如何使button可以開啟一個外部程式

文章piman » 週一 10月 18, 2010 10:04 pm

因為剛開始接觸qt
基礎還非常不紮實
但是需要有辦法寫出一個可以按下按鈕就開啟另一個寫好的執行檔
希望可以幫忙一下
查一下資料後似乎是要使用到qprocess


#include <QApplication>
#include <QProcess>
#include <QPushButton>
#include <QVBoxLayout>

int main( int argc, char *argv[] )
{
QApplication app(argc, argv);

QWidget *window = new QWidget;
window->setWindowTitle( "open" );

QPushButton *btn = new QPushButton("open");

QProcess *process = new QProcess(process);
QProcess::startDetached("path" );
QObject::connect(btn, SIGNAL(clicked()), ?, SLOT(?));

QVBoxLayout *vBoxLayout = new QVBoxLayout;
window->setLayout(vBoxLayout);

vBoxLayout->addWidget(btn);

window->resize(100,50);
window->show();

return app.exec();
}
這是我勉強寫出來的程式碼
有辦法直接就利用connect達到我的目的嗎?
問號的地方該如何填上呢?
或者是有辦法用對話框去開啟執行檔的範例?
我搜尋的結果大多是開圖檔或者是文字檔
所以找不到解決辦法

謝謝~
piman
可愛的小學生
可愛的小學生
 
文章: 1
註冊時間: 週一 10月 18, 2010 9:48 pm

Re: 想請問如何使button可以開啟一個外部程式

文章t47320 » 週二 2月 15, 2011 12:51 pm

一個方法是建立自已的button,然後自行訂義自已的slot,
也許slot中某個function去執行system("sh ../xxx")之類的system ...call
然後就可以用connect()在click的動作時執行自已的slot
不曉得有沒有比較高明的作法了...呵呵
t47320
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週五 3月 23, 2007 3:51 pm
來自: 苗栗


回到 KDE/Qt 程式設計

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客