반응형

/*********************************************************************************************************

-- 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(400100300200)
        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


반응형

+ Recent posts