Каркас установщика Qt скрывает или отключает кнопки

Я хочу скрыть или заморозить кнопку возврата на странице (точнее, на странице лицензионного соглашения). Я пытался редактировать control.qs несколькими способами, но, похоже, он не работает. Ниже приводится один из них

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

2 ответа

Решение

Я сталкиваюсь с подобной проблемой, пытаясь скрыть Next кнопка в Target Directory страница при определенных условиях.

Но ваш случай может быть проще:

1) Вы должны использовать глобальный boolean переменная установлена ​​в true когда вы вводите License Agreement стр.

2) Когда вы входите на предыдущую страницу, проверьте значение этого глобального: если true затем принудительно нажмите на следующую страницу (gui.click(buttons.NextButton);).

Да, это грязный обходной путь;)

Я думаю, вы могли бы попробовать то, что я предложил здесь: Фреймворк установщика Qt: удалите переключатели из деинсталлятора. Даже если это не было принято, это то, что я использовал в своем установщике, так что я уверен, что это работает!

В частности, для мастера BackButton он автоматически отключается, если перед текущей страницей нет страниц, как на странице Введение.

В QtScript это может быть выполнено путем удаления любых динамических страниц перед текущей страницей с помощью installer.removeWizardPage и отключение всех страниц по умолчанию перед текущей страницей с помощью installer.setDefaultPageVisible(QInstaller.Introduction, false).

Другие вопросы по тегам