- 追加された行はこの色です。
- 削除された行はこの色です。
[[FrontPage/Python/PySide]]
** 自動終了 [#bf3dac04]
# デバッグ用) 自動終了
self.timer = QTimer()
self.timer.singleShot(20*1000, self.close)
** 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