Hello World / plɹoM ollǝH

Programmers Live in Vain

2016-01-01から1年間の記事一覧

Python lambda式の落とし穴

Pythonのクロージャ内部で使われている変数は通常、実行時に値が評価されます。for文などと組み合わせてlambda式やローカル関数を使うときは、ちょっと気を付けないといけません。 例えば、0~4まで出力する関数を5つ用意したいとき # 関数作る functions = …

QDockWidgetに追加したWidgetが表示されないとき

setWidget()を使え

QListWidget コンテキストメニュー

# conding: utf-8 import sys from PySide.QtCore import * from PySide.QtGui import * # 右クリックでカレントの行を削除 def customMenu(widget, pos): if len(widget.selectedItems()) == 0: return action = QAction('Remove', widget) action.triggere…

QScrollAreaの罠にハマる

いつものようにLayoutにButtonを追加するが 一定サイズ以下に縮まないしスクロールバーも出ない # conding: utf-8 import sys from PySide.QtCore import * from PySide.QtGui import * # entry point if __name__ == '__main__': myapp = QApplication(sys.…

QListWidget 文字列フィルタリングしてみる

文字列でフィルタリングできるリストビューがあれば 人生の複雑な状況も整理できるかもしれない # conding: utf-8 import sys from PySide.QtCore import * from PySide.QtGui import * class MyListWidget(QWidget): def __init__(self, data, parent=None)…

QComboboxにはOrderedDictが良さげ

Comboboxのインデックスと処理が1:1だと便利 dictは追加した要素を不定の順序でイテレートするので 挿入順を保存したい場合は OrderedDict を使う # conding: utf-8 import sys from PySide.QtCore import * from PySide.QtGui import * import collections …

Signalの使いかたをよく忘れるのでメモ

これでGUIピタゴラ装置作ったら仕事してる振りできる # conding: utf-8 import sys from PySide.QtCore import * from PySide.QtGui import * # ほげ~ class Hoge(QLabel): # 文字列を引数に渡すシグナルを定義 textChanged = Signal(str) # 初期化 def __i…