Как сделать виджет слайдов с помощью Qt4? - PullRequest
0 голосов
/ 09 сентября 2011

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

Я бы хотел, чтобы страницы переключались при переключении, как если бы они были размещены в строке размером больше экрана, двигаясь влево или вправо в зависимости от того, что хочет пользователь.

Для этого я подумал, что QScrollArea будет в порядке, но я могу добавить к нему только один виджет и не могу индексировать вложенные элементы для соответствующего перемещения, а также не могу принудительно прокрутить каждый элемент ( не хочу, чтобы скользящее движение останавливалось между двумя страницами.)

Другим вариантом является QListView или другой производный от QAbstractItemView , но я не могу найти способ передачи виджета в качестве QListItemModel или другого переопределенного QAbstractItemModel . Роли для данных весьма ограничены , и, похоже, ни одна из них не позволяет QWidgets.

Как мне добиться этого?

1 Ответ

1 голос
/ 09 сентября 2011

Кажется, что использование QScrollArea и программная прокрутка с использованием унаследованного scrollContentsBy() помогут. В этом случае область просмотра будет удлиненным виджетом, перемещающимся влево или вправо, так что будет виден только один раздел за один раз.

...