Форум сайта python.su
0
хочу сделать область с прокруткой, что в других языках, делается просто и без проблем (mel к примеру), сдесь это какая-то адская операция, путем каких-то изысканий получился код:
#!/usr/bin/python # -*- coding: utf-8 -*- import sys from PyQt4.QtCore import * from PyQt4.QtGui import * class dlgTest(QScrollArea): def __init__(self, parent = None): QWidget.__init__(self, parent) # Scroll self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn) self.setVerticalScrollBarPolicy (Qt.ScrollBarAlwaysOn) # Window self.setWindowTitle('Scroll Panel') self.setWindowIcon(QIcon('icon.png')) self.resize(100, 100) # Layout vbox = QVBoxLayout() self.setLayout(vbox) # Content for i in range(10): self.Label = QLabel() self.Label.setText('a_dlinny_dlynny_dlynny_text_') vbox.addWidget(self.Label) app = QApplication(sys.argv) frm = dlgTest() frm.show() sys.exit(app.exec_())
Офлайн
0
должен извиниться … долгим методом перебирания вариантов .. получил … область внутри виджета скорее всего скрол область, но это еще не скрол область …. как минимум она не скролиться …
#!/usr/bin/python # -*- coding: utf-8 -*- # ParentWind import sys from PyQt4.QtCore import * from PyQt4.QtGui import * class dlgTest(QWidget): def __init__(self, parent = None, horizontal=True, vertical=True): QWidget.__init__(self, parent) # window self.setWindowTitle('Scroll Panel') #self.setWindowIcon(QIcon('icon.png')) self.resize(100, 100) # vbox self.vbox = QVBoxLayout() self.setLayout(self.vbox) # scroll self.scrollarea = QScrollArea(self) self.scrollarea.setLayout(self.vbox) self.scrollarea.resize(200, 300) # Content for i in range(10): self.Label = QLabel('a_dlinny_dlynny_text_:' + str(i)) self.vbox.addWidget(self.Label) app = QApplication(sys.argv) frm = dlgTest() frm.show() sys.exit(app.exec_())
Офлайн
173
Для ScrollArea нужен дочерний виджет
http://qt-project.org/doc/qt-4.8/qscrollarea.html#details
Из-за этого не работает:
clinicalfilm
self.setLayout(vbox)
holder = QWidget() vbox = QVBoxLayout(holder) self.setWidget(holder) self.setWidgetResizable(True)
clinicalfilmХорошо, что в этот раз в вопросе есть запускаемый пример кода и проблема описана полностью. А вот обижаться и каждый раз повторять то, что в одном из предыдущих топиков дали ссылки на учебники, причем полезные по теме, не стоит.
по этому “капитаны очевидность” и умники со ссылками на поисковики и энциклопедии, проходим мимо, нужен конкретный ответ.)
Офлайн
173
clinicalfilmРазместить скролл в Layout'e окна. Только нужно учесть моменты из предыдущего поста:
как теперь привязать область скрола к размерам окна, и чтобы появились полосы прокрутки, и чтобы они работали?
Офлайн
0
ок спасибо .. ))
Офлайн