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)
.
删除当前页面之前的任何动态页面来实现
我想隐藏或冻结页面(更具体地说,许可协议页面)上的后退按钮。我尝试用几种方法编辑 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)
.