プログラミング
新人研修のガイダンス用資料をつくらにゃ〜とあせりながらも六本木で働いていた元社長のアメブロを読んでたら、高橋メソッドの話が出てきて、そういやこんなのがあったな〜、これ使えばよくね?って思ったわけです。で、高橋メソッドマシーンなるものの存在…
クライアント領域をスクロールに対応させるには、wx.ScrolledWindow を使うと簡単です。
wxPython でツールを作るにあたり、最初からアンドゥ・リドゥのことを考慮したつくりにしておこうと、仕組みを用意しました。
wxWindows のリファレンスのwxWindow のページを見てたらスタイル指定の中のwxCLIP_CHILDRENのところに、 子が描画されるときに、 背景が再描画されることによって起こる「ちらつき」を除去する。 Use this style to eliminate flicker caused by the backgr…
前回やったラバーバンド処理は、マウスがウィンドウの外に出ると挙動がおかしくなってしまいます。ウィンドウズのプログラミングではこういう場合にはマウスキャプチャーを使います。マウスカーソルが画面外に出てもマウスのイベントを受け取り続けると言う…
まず前回のシンプルなコードをwx_utils.pyを利用するよう変更。
で、作成したリソースを利用して単純なウィンドウの表示にまいります。
ちょっとGUI アプリを作ってみようと再度思い立ったので、おさらいしつつ手順をまとめなおしてみます。前に書いたとき*1から色々と試して変わってきた部分もあるので。 *1:1年くらい前とか時間経つの早すぎ
仕事で使うためにシリアルポートからの入力を表示するコンソールのようなものを作りました。TeraTerm の簡易版みたいなものです。pySerial モジュールを利用することでシリアルポートからのデータの受け取りはものすごく簡単に出来ます。通信に関するいくつ…
タスクトレイに常駐するアプリケーションを作るには、 wxTaskBarIcon を利用します。wx.TaskBarIcon のインスタンスを作っておいて SetIcon(icon, tooltip) でアイコンとマウスカーソルがアイコン上に乗ったときに表示するテキストを指定するとタスクトレイ…
py2exe による exe 化に成功しました。環境は以下の通り。 Python 2.5 wxPython 2.8 XRCed 0.2.0-beta wx_utils.pyを利用
XRCed は wxPython とともにインストールされます。きちんと wxPython インストール先の Python の pythonw.exe に拡張子 pyw が関連付けされていれば(普通はそうなっている python 2.5, pyw -> python 2.4, wxPython -> python 2.5 となっていたため最初試…
以下おぼえている点を書き出して、後から訂正・補足。 wxPython アプリケーションの実行 wx.Frame を継承した独自クラスのインスタンスを作成し、 wx.PySimpleApp など wx.App のインスタンスに登録して実行 wx.Frame.__init__ の引数は、 self, parent, id,…
イベント イベントハンドリングは wxPython の鍵となるもののひとつです。 我々の知る全ての GUI システムはさまざまなアプリケーション間で情報を 流通させるためにイベントに頼っています。 特定のイベントが受信されたときに何を行うかは各 GUI アプリケ…
Adding a few more controls 多数のコントロールの完全なリストは(スタートメニューの) demo and help の中の wxPython にありますが、 ここでは良く使われるものを紹介します。
サイザー サイザー( wxSizer のサブクラス)はウィンドウまたはフレームでエレメントの見た目の編集を 取り扱うために使用します。サイザーは次のようなことをします。
ウィンドウの処理 このセクションでは、入力フォームの構築や種々のウィジェット、コントロールの仕様を含む ウィンドウの取り扱いについて紹介します。
さらなる魔法(?)
イベントハンドリングの実習wxPytohn ではイベントに反応することをイベントハンドリングと呼びます。 柔軟なイベントハンドリングは wxPython の強みのひとつです。 まず基本的なイベントハンドリングを紹介し、後に Advanced Topics で詳細について話しま…
仕事で行き詰ったり他所のプロジェクトから質問が来たりプログラミング以外にやる仕事があったりと なかなか忙しくなってきました。1月中に基本的なところをやり終えられるだろうか果たして。
wxPython Getting Started のサンプルを引き続き。訳は適当です。よく分からないところは飛ばしてます。
5. A First Application: "Hello, World"コメント形式で駄訳してみました。
まずはざっくりと。正直まだペース配分が見えてませんが。仕事もあるし。 1月中に基礎を学習 2月中はリソースエディタの学習 3月末にアプリリリース(社内)
基本構造 リソースエディタ アプリのリリース こんな感じか。 何を作るかについてはぼんやりと、プログラマ以外がゲームアプリをビルドするのを サポートするツールを作ろうかと考えていますが、学習しながら他にこれは必要とか 思ったものがあればそちらに…
思うところあって目標を明確にして頑張ってみようと思い立ちましたのでここに書き留めておきます。 明確な目標といって改まって考えてみるとなかなかネタが無いのですが とりあえず wxPython でなんか仕事で使うようなツールを作るとでもしておきます。
サーバ側に Python + json-rpc モジュール、クライアント側に jsolait を利用して JSON-RPC によるメソッド呼び出しのテストを細々とやっていたのですが、 #!C:/Python25/python.exe #coding:utf-8 from jsonrpc import handleCGI, ServiceMethod import sys…
仕事のプロジェクトの作業環境移行中にプログラムがハングアップしてハマッて リーダーに相談してたら dynamic_cast を見落としていることに気付いた。 RTTI を有効にしていなかった。てか dynamic_cast がいっぱいあることに絶望した!
本当は今週は何かに使うユーザーのデータベース登録と閲覧のプログラムをやるつもりでしたが 色々とやる仕事が多かったりしたのであまり進んでいません。 代わりといっては何ですが、コンパイルの隙間とかで Erlang を弄ってました。
一月も開いてしまうとは予想外でした。 書きかけテキストが消えたのが10%くらい、残りはモンスターハンターのせいです。