2014-05-13 3 views
0

스크롤 막대를 사용하여 QListwidget을 만들고 싶습니다. 나는 pyqt에서 완전한 초보자이고 그것을 이해하려고 노력하고있다. 나는 다음 코드로 그것을 만들지 만 잘못된 것이다.Qlistwidget 실수가 정의되지 않았습니다.

self.list = QListWidget(self) 
data = QListWidgetItem(list) 
data.setText('1') 

self.list = QListWidget(self) 
    NameError: global name 'QListWidget' is not defined 

누군가 내가 왜 잘못되었는지 설명 할 수 있으면 감사하겠습니다.

+0

QListWidget은 모듈의 메소드입니까? 모듈 이름이 'pyqt'라고하면,'import pyqt'를 호출하지 말고'self.list = pyqt.QListWidget (self)'를 호출하지 않겠습니까? – Elias

+0

파이썬 초보자 인 것 같습니다. 튜토리얼을 읽는 것이 좋습니다. https://docs.python.org/2.7/tutorial/modules.html – sebastian

답변

1

QListWidget은 QtGui에서 정의됩니다. 그래서 당신은 그것을 어떤 식 으로든 참조 할 필요가 있습니다. from PyQt4.QtGui import QListWidget을 수행하거나 아래 예와 같이 위치를 명시 적으로 말하면됩니다.

from PyQt4 import QtGui, QtCore 

class MyWidget(QtGui.QWidget): 
    def __init__(self, parent=None): 
     super(MyWidget, self).__init__(parent) 
     self.list = QtGui.QListWidget(self) 
     self.list.addItems([str(i) for i in range(10)]) 
     layout = QtGui.QVBoxLayout(self) 
     layout.addWidget(self.list) 



if __name__ == '__main__': 
    app = QtGui.QApplication([]) 
    ex = MyWidget() 
    ex.show() 
    app.exec_()