Я немного новичок в работе с графическими интерфейсами в python. Я экспериментирую с некоторыми функциями в pyqt. Я работаю с областью прокрутки. Над областью прокрутки я хочу разместить текстовую метку. Однако область прокрутки помещается на большую часть текстовой метки. Я хотел бы изменить размер области прокрутки так, чтобы метка была полностью видна. Я думал, что это будет команда:Проблема с изменением размера области прокрутки в pyqt
self.scrollArea.setGeometry()
Или некоторые вариации из:
self.scrollArea.setWidgetResizable(True)
Но это не сработало. Кто-нибудь знает правильный способ изменения размера области прокрутки, чтобы мой текст был видимым? Спасибо за любую помощь. Мой код ниже:
import sys
from PyQt4 import QtGui,QtCore
class myGUI(QtGui.QWidget):
def __init__(self):
super(myGUI, self).__init__()
self.horizontalLayout = QtGui.QVBoxLayout(self)
lbl1 = QtGui.QLabel('This will eventually contain a paragraph of useful information', self)
lbl1.move(17, 0)
self.scrollArea = QtGui.QScrollArea(self)
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setGeometry(10,10,10,10)
self.scrollAreaWidgetContents = QtGui.QWidget()
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 380, 280))
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.scrollAreaWidgetContents)
self.gridLayout = QtGui.QGridLayout()
self.horizontalLayout_2.addLayout(self.gridLayout)
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
self.btn1 = QtGui.QPushButton("Button 1")
self.btn2 = QtGui.QPushButton("Button 2")
self.btn3 = QtGui.QPushButton("Button 3")
self.horizontalLayout.addWidget(self.scrollArea)
self.horizontalLayout.addWidget(self.btn1)
self.horizontalLayout.addWidget(self.btn2)
self.horizontalLayout.addWidget(self.btn3)
self.connect(self.btn1, QtCore.SIGNAL("clicked()"), self.addButtons)
self.setGeometry(300, 200, 500, 500)
self.setWindowTitle('myGUI')
def addButtons(self):
for i in range(0, 50):
self.r_button = QtGui.QPushButton("Element %s " % i)
self.gridLayout.addWidget(self.r_button)
def run():
app = QtGui.QApplication(sys.argv)
ex = myGUI()
ex.show()
sys.exit(app.exec_())
if __name__ == "__main__":
run()
Спасибо. Ваше решение сработало, но нужна только команда self.horizontalLayout.addWidget (lbl1). setWordWrap только что произвел ошибку. Все так же. Благодарю. – David
@ dave. Линия 'setWordWrap' отлично работает для меня. Какую ошибку вы получили? – ekhumoro
Кажется, теперь это работает, должно быть, было моим воображением. Извини за это. – David