【问题标题】:Qt installer framework hide or disable buttonsQt 安装程序框架隐藏或禁用按钮
【发布时间】:2019-09-24 02:13:39
【问题描述】:

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

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

【问题讨论】:

  • 我也想知道!如果确实不可能,解决方法可能是在之前的页面上自动单击下一步(基于某些条件)。
  • 感谢您的想法。但我想要它,这样用户就不能在该页面之后返回。如果我找到了一种方法,我会发表评论。
  • 在哪里可以找到widget.BackButton.setVisible(false) ; 之类的文档?特别是setVisible 部分。

标签: qt qt-installer


【解决方案1】:

我在尝试在某些情况下隐藏Target Directory 页面中的Next 按钮时遇到了类似的问题。

但你的情况可能更容易:

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

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

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

【讨论】:

  • 您是否设法隐藏了Next 按钮?我想知道该怎么做。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    特别是对于向导 BackButton,如果在当前页面之前没有页面(例如 Introduction 页面),它会自动禁用自身。

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

    【讨论】:

    • 您对如何隐藏NextQuit 按钮有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 2015-02-02
    • 2018-08-05
    • 2017-01-13
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多