Qt安装程序框架隐藏或禁用按钮

时间:2016-01-30 09:19:01

标签: qt qt-installer

我想隐藏或冻结页面上的后退按钮(更具体地说,许可协议页面)。我尝试用很少的方法编辑control.qs但它似乎不起作用。以下是其中之一

Controller.prototype.LicenseAgreementPageCallback = function()
{
    var widget = gui.currentPageWidget();
    if (widget != null) 
    {
        widget.BackButton.setVisible(false) ;
    }
}

3 个答案:

答案 0 :(得分:0)

我想你可以尝试我在这里提出的建议:Qt installer framework: remove radio buttons from uninstaller。即使它不被接受,我在安装程序中使用的也是如此,所以我非常有信心它正在工作!

答案 1 :(得分:0)

我遇到了类似的问题,试图在某些条件下隐藏Next页面中的Target Directory按钮。

但你的情况可能会更容易:

1)当您进入boolean页面时,您应该使用设置为true的全局License Agreement变量。

2)当您进入上一页时,测试此全局的值:如果true,则强制点击下一页(gui.click(buttons.NextButton);)。

是的,这是一个肮脏的解决方法;)

答案 2 :(得分:0)

对于向导BackButton,如果当前页面和简介页面之间没有页面,它将自动禁用自身。

在QtScript中,可以通过使用installer.removeWizardPage删除当前页面之前的所有动态页面,并使用installer.setDefaultPageVisible(QInstaller.Introduction, false)禁用当前页面之前的所有默认页面来实现。