2014-05-13 71 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

看來你也是一個Python初學者,我建議閱讀教程: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_()