QScrollView без полос прокрутки
Я пытаюсь сделать QScrollView с около 100 различных меток и кнопок. Но после их добавления полосы прокрутки не появляются.
Вот пример кода, который я написал:
self.btn = {}
self.scroll = QScrollView(self)
self.scroll.setGeometry(QRect(0,0,300,300))
self.scroll.enableClipper(True)
vp = self.scroll.viewport()
for i in range(0,100):
self.btn[i] = QPushButton(vp)
for i in range(0,100):
self.scroll.addChild(self.btn[i],1,50*i)
self.scroll.setVScrollBarMode(QScrollView.AlwaysOn)
заставить полосу прокрутки появляться, но не работать.
Кнопки добавляются в QScrollView, но я не могу прокрутить вниз, чтобы увидеть их все, что я делаю не так? Я использую QT3.
2 ответа
Вы не добавляете все свои маленькие предметы в скроллвью. Вы должны вставить один большой контейнер (например, производный класс QFrame) в представление прокрутки, которое содержит все ваши меньшие виджеты.
На самом деле вам просто нужно дать прокрутку просмотра макета и добавить свои виджеты к этому. Добавление их как подвиджетов одного большого виджета в скроллвью сделает это за вас, но это сложнее.