我想從.sh文件中讀取一些變量並將它們傳遞給一個數組(也許更好的一個向量,因爲我不知道這個長度是多少?)。變量不是環境變量,換句話說,我會單手設置它們。這些變量將被全局使用的方式。在Qt4中使用Bash變量
在此之後,我使用它們爲QListWidget設置命令,圖標和名稱列表。 我我選擇一個項目,然後點擊一個按鈕,它執行命令並在QTextEdit中顯示結果。
--> You can see the code here. <--
我怎樣才能做到這一點,有沒有更好的解決辦法?
編輯:
我很抱歉,但英語不是我的母語因此其很難解釋......
起初它們是文件: Dialog.h,對話框。 CPP和Dialog.ui
然後將這些文件包含以下功能: Query.h和Query.cpp
至少腳本WIC例如,我打電話給variables.sh。 它包含了這樣的事情:
CmdList=("kcmshell4 --list|grep -q kcm_grub2",
"kcmshell4 --list|grep -q kcm_networkmanagement",
"which pastebunz",
"[ -z $ink3_ver ]")
NameList=("kcm_grub2",
"kcm_networkmanagement",
"pastebunz",
"Shellmenu")
IconList=(":/icons/icons/GNU.png",
":/icons/icons/networkmanager.png",
":/icons/icons/edit-paste.png",
":/icons/icons/menu.png")
我不知道這些長度或內容。所以我應該使用QVector嗎?
查詢功能通過對話框中的按鈕調用。
現在我必須從variables.h中讀取變量(這應該在programstart中完成...)。
for (int i = 0; i < ${#$cmdList[*]}; i++) // where '${#$cmdList[*]}' represents the
{ some magical stuff; } //legth or the $CmdList array written in bash ...
然後,我必須使用一些循環在我的功能Query.cpp像
QVector<QString> vCmdList;
for (int i = 0; i < vCmdList.size(); i++)
{
vCmdList[i] = CmdList[i];
}
我希望它更清楚了,因爲我不知道如何更precicely解釋。
感謝您的耐心^^
你能提供一個你有什麼和你期望的小例子嗎? – 2012-03-12 23:40:41
如果你點擊鏈接,你可以看到我需要變量/數組的函數。 我不希望如此改變函數頂部的C++/Qt數組,以加載basharrays並用它們的內容填充C++數組。我只有鏈接中顯示的功能。所以這是一個更理想的問題... 我可以寫一個pseydo代碼,如果有幫助嗎? – yokmp 2012-03-12 23:52:56
而不是鏈接到這個問題,爲什麼你不復制相關的部分?因爲現在我認爲不清楚哪些部分是(並且不是)相關的。 – ruakh 2012-03-13 00:05:05