Задать вопрос
jobzzoff
@jobzzoff
I wonder how, I wonder why...

Как заставить пользователя прочитать лицензионное соглашение?

Идея такова:
Есть QTextBrowser, в source которого установлен текст лицензионного соглашения. Сразу после QTextBrowser располагается QCheckBox( "Я согласен с условиями, изложенными в лицензионном соглашении" ). Необходимо сделать чекбокс доступным для кликанья ( "qCheckBoxSampleObject.setEnabled(true)" ) только после того, как пользователь прочитает соглашение, иными словами, сдвинет ползунок QSlider внутри QTextBrowser до упора вниз.

Как можно это реализовать? За что можно зацепиться? Опишите, пожалуйста, в общих чертах.

Пытался манипулировать через QTextBrowser->verticalScrollBar()->setSliderPosition(QtextBrowser->verticalScrollBar()->maximum()), и напрямую через QSlider, но безуспешно. Документацию, по моему мнению, читал вдумчиво и внимательно, сейчас вот перечитываю.

Прошу помощи. Заранее всех благодарю!
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@12rbah
Не работает это через SliderChange и slider->maximim == slider->value? Покажите код.

Вообще ваш подход к прочтению лицензионного соглашения ненадежный.
Очевидно, что лучше провести тестирование пользователя после того как он согласился, при этом каждый раз необходимо менять вопросы местами, а в идеале создать базу вопросов, чтобы каждый раз появлялось несколько новых, при этом блокируйте возможность соглашения с текстом лицензии сначала на 5 минут, потом на 10 и тд, чтобы у пользователя было мотивации прочитать соглашение.

UPD: вы так код и не скинули, поэтому сложно понять, что у вас не работает. У скролбара есть событие valueChanged, и внутри этого события уже проверяете текущее значение скролбара и максимальное, если максимальное значение равно текущему, то разрешаете пользователю идти дальше, если нет не разрешаете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы