Каркас установщика 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)
.