2007-10-01から1ヶ月間の記事一覧

 サブプロセス実行時のディレクトリの移動とログファイルの書き出し(修正版)

昨日の使用例のコードをWindowsで実行すると、なぜかフリーズする傾向にある。原因はよく分からないのだが、コードを少し修正した。下の修正版のようにするだけで動作がかなり異なる。 本質的には何も変わっていないと思うのだが...。(使用例 修正版) impo…

サブプロセス実行時のディレクトリの移動とログファイルの書き出し

ディレクトリの移動 これからも頻繁にGUIの中で使うであろう。os.chdir() >>> print os.getcwd() # カレントディレクトの確認 >>> os.chdir(path) # pathで指定したディレクトリへ移動する。 ログの表示 出力されるログを表示するのに、普通にprintでは1行ご…

ボタンを押すと特定のプログラムを実行し、実行している間プログレスバーを表示する(その3)

サブプロセスの実行中は、実行していることを示すプログレスバーを表示し、実行が終了したらプログレスバーを消すようなコードを作りたい。過去、d:id:Megumi221:20070730(その1)、d:id:Megumi221:20070731(その2)では、プログレスバーを単独で表示す…

指定した時間だけ実行を停止させる

import time time.sleep(10) 引数は秒数を与える。この例では10秒。

パネルを折りたたむ方法(wx.lib.foldpanelbar)

いままでは、フレームの上に複数のパネルを上から順番に並べるような配置でGUIを作っていた。 サイザーを使うなどして、これでも十分納得できるものが作れるのであるが、なんか見栄えが今ひとつであった。 そこで、wxPythonデモをあれこれ探してみると、"Fol…

”変数=数値”という文字列から”変数”と”数値”を別々に取り出す(stringモジュールとmap関数)

GUIを通して、変数に値を設定することを想定している。その場合、設定された値を何らかの形式でファイルに保存しておく。GUIを再起動したときに、保存したファイルから値を読み込んで一度定義した変数には自動的に値を設定するようにしたい。 または、すでに…

ファイルのバックアップと管理(Subversion)

ファイル数が増えてきたので、そろそろバージョン管理システムを導入する。 現在はWindows上で作業をしているのであるが、Linuxでも将来的に使えるように、subversionですべてのファイルを管理することにした。Windows用の"TortoisesSVN 1.4.5"と日本語Langu…

ディレクトリの作成(osモジュール)と例外処理

ユーザインターフェースを操作するときに出力されるファイルを、まとめて保存するためのディレクトリを作成したい。osモジュールのmkdir関数を使えば、任意のディレクトリの作成はできる。 import os os.mkdir('testd') ちょっと困ったのが、すでにディレク…

すべての出力ファイルを指定したディレクトリに吐き出すようにする

ユーザがGUIを操作して、その結果出力されるファイルが大量にある場合に、ユーザが事前に指定するディレクトリにまとめて置くようにすると便利だ。 ディレクトリの指定(ファイルを保存するためのディレクトリをまず指定する) wxDirDialogを使えば選択の他…

入力後、テキストコントロールの色を変える

ユーザが値を入力するボックスをテキストコントロールで作成し、入力前はボックスの色を黄色にしておく。なんらかの値を入力し終わったらボックスの色を白くすることで、入力が終了したことを認識させる。ボックスの色は、SetBackgroundColourメソッドを使う…

円周率の表示方法(mathモジュール)

計算で使う円周率の表示方法。 import math print math.pi その他、mathモジュールが提供する関数は以下を参照。http://www.python.jp/doc/release/lib/module-math.html

wxStaticTextでの"&"の表示方法

wxStaticTextを使って、文字を表示する場合にほとんどすべての文字は問題なく表示できるのであるが、"&"だけどうしても表示できなかった。 "&"を直接書くと化ける(Windows XPでしか試していないが、"_"が表示される)。 "\&"としてもダメだった。 試行錯誤…

サブプロセスの実行手順(サブプロセス用の入力ファイル作成とサブプロセスの実行)

Pythonとは別のプログラム言語で作成したプログラムを、wxPythonのGUIから実行するときの手順をまとめておく。以前からたびたびやっているのだが、やるたびにどう書くのか迷ってしまうので。まずは、ProgramTest.py。 これはモジュールで、入力ファイル(file…

wxGridCellEitorのバグ? "0"を入力できない。

グリッドで表を作り、セルの中に実数値を入力できるようにするために、wxGridを使った。 数値の入力には、wxGridCellFloatEditorを利用する。 例えば、以下のように書くことができる。 import wx import wx.grid as gridlib class InpValue(gridlib.Grid): d…