jobzzoff
@jobzzoff
I wonder how, I wonder why...

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

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

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

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

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

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

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

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

Похожие вопросы
25 нояб. 2024, в 18:39
30000 руб./за проект
25 нояб. 2024, в 18:35
30000 руб./за проект
25 нояб. 2024, в 18:33
10000 руб./за проект