关于Qt安装程序框架,我有一个问题:
如果在组件选择页面中当前选择了要安装的组件,如何检查组件脚本?
没有组件属性,我找不到可以查询的值。
答案 0 :(得分:2)
您可以使用功能
component.componentChangeRequested();
component.installationRequested();
component.updateRequested();
component.uninstallationRequested();
查询有关请求的组件更改的信息。
所有这些功能取决于程序包的先前状态。已卸载的已检查软件包将在installationRequested
中标记,已安装的未检查软件包将在uninstallationRequested
中标记,而已安装版本早于捆绑版本的已检查软件包将被标记在{{1}中}。
有关更多信息,请检查component Documentation。
答案 1 :(得分:0)
您可以直接检查组件的安装状态。您没有通过分类信号推出自己的解决方案。
内置的installer
对象可以返回所有组件的列表。
参见:https://doc.qt.io/qtinstallerframework/scripting-installer.html#components-method
“组件”对象的属性例如installed
。
参见:https://doc.qt.io/qtinstallerframework/scripting-component.html
以下是一些剪切和粘贴的代码:
function getComponent( name ) {
var comps=installer.components();
for( i=0; i< comps.length; i++ ) {
if( comps[i].name == name ) return comps[i];
}
throw new Error( "Component not found: " + name );
}
function isComponentInstalled( name ) {
try{ return getComponent( name ).installed; }
catch(e){ console.log( "Component not found: " + name ); }
return false;
}
function isComponentSelected( name ) {
try{ return getComponent( name ).enabled; }
catch(e){ console.log( "Component not found: " + name ); }
return false;
}