PyQt/PySide: 引数オーバーロードされたシグナルをどう書くか?

2011 年 6 月 6 日 はてなブックマークへ追加 はてなブックマーク - PyQt/PySide: 引数オーバーロードされたシグナルをどう書くか? Bookmark this on Delicious

PyQt4 や PySide でシグナルをつなげるには、こんな風に書くのだけれど、

slider = QSlider()
spinbox = QSpinBox()
slider.valueChanged.connect(spinbox.setValue)

オーバーロードされたシグナルをどう表現するのか疑問に思っていた。

例えば、 QSpinBox.valueChangedvalueChanged(int)valueChanged(const QString&) の 2 種類ある。

答えはこう。

spinbox.valueChanged[int].connect(slider.setValue)
spinbox.valueChanged[unicode].connect(lineedit.setText)

微妙にキモいところが boost っぽいなぁ。

コメント

blog comments powered by Disqus