我想从.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