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

Qt installer framework hide or disable buttons

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

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

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

我在尝试在特定条件下隐藏 Target Directory 页面中的 Next 按钮时遇到了类似的问题。

但你的情况可能更简单:

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

2) 当你进入上一页时测试这个全局的值:如果true然后强制点击下一页(gui.click(buttons.NextButton);)。

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

具体来说,对于向导 BackButton,如果在当前页面(如简介页面)之前没有页面,它会自动禁用自身。

在 QtScript 中,这可以通过使用 installer.removeWizardPage and disabling all default pages before the current page with installer.setDefaultPageVisible(QInstaller.Introduction, false).

删除当前页面之前的任何动态页面来实现