[[FrontPage/Python/PySide]] ** QListViewの最速利用法 [#s22e7f8b] # :: FileListView self.model = QStringListModel() self.listView = QListView() self.listView.setModel(self.model) self.model.setStringList(["abc", "def", "ghi", "jkl"]) self.listView.clicked.connect(self.flush_listitem) @Slot() def flush_listitem(self, index): sel1 = index.data(Qt.DisplayRole) sel2 = [i.data(Qt.DisplayRole) for i in self.listView.selectedIndexes()] print sel1 print sel2 ** Qt CSS Style一覧 [#r45ed1a1] https://wiki.qt.io/Style-CSSBased ** QObject.sender() [#y76464fa] シグナルの発行元オブジェクトを取得したい場合 https://wiki.qt.io/PySide-Pitfalls-Japanese (注意) sender()は@Slotを実装してるメソッド内でのみ動く class Listener(QObject): @Slot() def on_signal(self,*args): print args print self.sender() listner = Listener() btn.someSignal.connect(listener.on_signal) ** QtCore.Property [#reed123c] プロパティのセッターにより,値が変更されると,シグナルを発行できる. from PySide.QtCore import QObject, Property class MyObject(QObject): def __init__(self, startval=42): QObject.__init__(self) self.ppval = startval def readPP(self): return self.ppval def setPP(self,val): self.ppval = val pp = Property(int, readPP, setPP) obj = MyObject() obj.pp = 47