반응형
/*********************************************************************************************************
-- Title : [PyQt4] Listwidget 구현(multi select)
-- Reference : stackoverflow.com/questions/14330642
-- Key word : python pyqt pyqt4 qt qt4 파이썬 리스트위젯 qlistwidget listwidget
*********************************************************************************************************/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #-*- coding:utf-8 -*- import sys from PyQt4 import QtGui, QtCore class Window(QtGui.QWidget): def __init__(self): super(Window, self).__init__() self.setGeometry(400, 100, 300, 200) self.setWindowTitle("QListWidget Test") self.setStyleSheet( """ QListWidget:item:selected:active { background: blue; } QListWidget:item:selected:!active { background: gray; } QListWidget:item:selected:disabled { background: gray; } QListWidget:item:selected:!disabled { background: blue; } """ ) self.tListWidget = QtGui.QListWidget(self) self.tListWidget.setSelectionMode(QtGui.QAbstractItemView.MultiSelection) self.tButton = QtGui.QPushButton(self) self.tButton.setText("Disable the list!") self.tButton.clicked.connect(self.on_button_clicked) self.layout = QtGui.QVBoxLayout(self) self.layout.addWidget(self.tButton) self.layout.addWidget(self.tListWidget) for itemNumber in range(5): item = QtGui.QListWidgetItem(self.tListWidget) item.setText("Item {0}".format(itemNumber)) self.tListWidget.addItem(item) @QtCore.pyqtSlot() def on_button_clicked(self): enable = False if self.tListWidget.isEnabled() else True self.tListWidget.setEnabled(enable) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) gui = Window() gui.show() sys.exit(app.exec_()) | cs |
반응형