QT - Как я могу создать полосу прокрутки с длинными int (вместо int) шагами?
Я пытаюсь создать приложение QT GUI (для образовательных целей), чтобы получить доступ к необработанным данным жесткого диска. Я добавил таблицу с 32+1 столбцами (байты + смещение) и отдельной вертикальной полосой прокрутки рядом с ней. Приложение читает только видимые (для макета таблицы) байты. Событие инициируется, когда пользователь поворачивает колесо над виджетом таблицы и представленные данные обновляются.
Я также хочу, чтобы полоса прокрутки имела похожее поведение (и, конечно, была перетаскиваемой). В этом случае я должен установить максимальное значение полосы прокрутки (шаги) в totalHdBytes/32. Однако в большинстве случаев это длинное целое число (не целое число), поэтому оно неприемлемо для объекта QScrollBar.
Мой вопрос:
Как я могу создать полосу прокрутки с таким количеством шагов, сколько я хочу?
1 ответ
По предположению Дмитрия, создавать (и напрямую невозможно) создание QScrollBar
с такими большими числами, так как вам не хватает разрешения дисплея / мыши. Поэтому я предлагаю вам сделать следующее:
Использовать
QLineEdit
ввести адрес (опционально используяinputMask
или жеvalidator
) или реализовать свой собственныйQScrollBox
как обсуждено в этом посте.Карта
QScrollBar
диапазон до желаемого диапазона с использованием коэффициента умножения.