2010-02-01から1ヶ月間の記事一覧

IrfanViewで、画像ファイルのフォルダを選択した状態でエクスプローラを開く

どういうわけか"/"が入るとIrfanViewで起動できない?ようなので、 実行ファイルを作りました。ただ、それだけ。 //explorer-select-dir.cpp #include <string> #include <windows.h> #include <tchar.h> #include <cstdlib> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, L</cstdlib></tchar.h></windows.h></string>…

listを継承するとき

append extend など「全ての破壊的メソッドをラップ」するとき、 __iadd__を忘れずに

ウィジェットを偽造する

QStyleと、QStyleOptionのサブクラスを使うと、ウィジェットの表示を再現できます。 QStyleはQApplication.style()で取得。 QStyleOptionは、ウィジェット型ごとにサブクラスが違います。大量のウィジェットを実際に作ってしまうと遅くなるとき、などに使え…

PyQtでは循環参照に注意

Traceback (most recent call last): File "D:\Owner\temp\q.py", line 14, in callback self.setText(v) RuntimeError: underlying C/C++ object has been deleted PyQtを使った方なら、一度はこのRuntimeErrorに遭遇した事があると思います。 ウィジェット…

1266075553**** object has no attribute ***

def __getattr__(self, name): if spam(name): return egg raise AttributeError("'{0.__class__.__name__} object has no attribute '{1}''" .format(self, name)) といったコードは、委譲!委譲!委譲!を実践すると良く書きますが、 毎回、"'{0.__class__…

正方形のPushButton

文字の左右の空白が邪魔だったので、sizeHintを変更。 ただし、当然はみ出た文字は見えなくなる。 from PyQt4.QtCore import * from PyQt4.QtGui import * class SquareButton(QPushButton): def __init__(self, *a, **kw): QPushButton.__init__(self, *a, …

Singletonパターンの罠

Singletonでハマりました。 Singletonを書いたモジュールを、メインスクリプトとして実行したことが問題です。 #encoding:shift-jis """ singleton.py Singltonを定義したモジュール > python singleton.py とすると、ハマる """ from __future__ import div…

pyqtSignalで幸せになれる

QtはSignalでプログラミングすると言っても過言ではありません。 QObject.connect(self, SIGNAL("valueChanged(int)"), self.scrollBar.setValue) self.emit("valueChanged(int)", 10) が、一々、"QObject"と"SIGNAL"を書くのが面倒な上、Signal名を間違えて…