FrontPage/Python/PySide

自動終了

       # デバッグ用) 自動終了
       self.timer = QTimer()
       self.timer.singleShot(20*1000, self.close)

QListView?の最速利用法

# :: 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一覧

https://wiki.qt.io/Style-CSSBased

QObject.sender()

シグナルの発行元オブジェクトを取得したい場合 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

プロパティのセッターにより,値が変更されると,シグナルを発行できる.

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
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS