2007-01-01から1年間の記事一覧
複数の画面をタブで切り換えられるようにして並べた。画面を切り換えるときに同時に標準出力のリダイレクトを行おうとしたのであるが、どう書いたらいいのか悩んだ。wxPythonのdemo.pyのNotebook.pyでタブを切り換えたときのイベント処理の仕方があったので…
Linuxの使用歴は長いのであるが、管理者などはやったこともないので知識が非常に偏っている。そこでこの本を勉強しているのであるが、とりあえず一回目読了。かなり知らないことだらけであった。 三回ぐらい読んだらせっかくなので試験でも受けてみるかもし…
Pythonとは全く関係ないのであるが、たまたまMonaOSの本を手にした。MONA―2ちゃんねる発祥の手作りOS作者: ひげぽん出版社/メーカー: 毎日コミュニケーションズ発売日: 2005/04メディア: 単行本 クリック: 42回この商品を含むブログ (62件) を見るOSを一から…
GUIのデバッグ作業をLinuxとWindowsで行っているのであるが、どちらでも動作するようにするつもりだがなかなか難しい。スプラッシュ画面にPNGファイルを表示しているのであるが、Windowsでは問題なく表示できるがLinuxではファイルを認識してくれなかった。o…
リストの全部の要素の和をとる場合、for文を使うのはエレガントではないのだろうな、と考えながら”初めてのPython”を探すと案の定、代わりの表記法を見つけることができた(p.273)。reduce関数を使う。 lp = [1, 0, 1, 1, 0, 1] sum = reduce((lambda x, y: x…
GUI画面のボタンを押すことで処理が始まるようにしたのだが、その処理が重く長時間かかるような場合には、画面がフリーズした状態になってしまう。それを解消するためのマルチスレッド化は以外と簡単(のように見える)。デモの中のThreads.pyにあるように、…
何とか今月中に、動く形にしてGUIを完成できそうなところまで来た。今回の作成過程で、マルチスレッドの重要性を実感した(プログレスバーの表示とかに使える。まだ実装できていないが...。実装するかどうかも検討中)。マルチスレッドのプログラミングには…
GUI画面で定義した変数の値を、ファイルにすでに記録されている値と入れ替える。その場合の文字列処理を次のように行った。 import os import shutil import Util # Utilファイルに新しい変数値を入れておく def RecordVariables(path): filepath = os.path.…
昨日の使用例のコードをWindowsで実行すると、なぜかフリーズする傾向にある。原因はよく分からないのだが、コードを少し修正した。下の修正版のようにするだけで動作がかなり異なる。 本質的には何も変わっていないと思うのだが...。(使用例 修正版) impo…
ディレクトリの移動 これからも頻繁にGUIの中で使うであろう。os.chdir() >>> print os.getcwd() # カレントディレクトの確認 >>> os.chdir(path) # pathで指定したディレクトリへ移動する。 ログの表示 出力されるログを表示するのに、普通にprintでは1行ご…
サブプロセスの実行中は、実行していることを示すプログレスバーを表示し、実行が終了したらプログレスバーを消すようなコードを作りたい。過去、d:id:Megumi221:20070730(その1)、d:id:Megumi221:20070731(その2)では、プログレスバーを単独で表示す…
import time time.sleep(10) 引数は秒数を与える。この例では10秒。
いままでは、フレームの上に複数のパネルを上から順番に並べるような配置でGUIを作っていた。 サイザーを使うなどして、これでも十分納得できるものが作れるのであるが、なんか見栄えが今ひとつであった。 そこで、wxPythonデモをあれこれ探してみると、"Fol…
GUIを通して、変数に値を設定することを想定している。その場合、設定された値を何らかの形式でファイルに保存しておく。GUIを再起動したときに、保存したファイルから値を読み込んで一度定義した変数には自動的に値を設定するようにしたい。 または、すでに…
ファイル数が増えてきたので、そろそろバージョン管理システムを導入する。 現在はWindows上で作業をしているのであるが、Linuxでも将来的に使えるように、subversionですべてのファイルを管理することにした。Windows用の"TortoisesSVN 1.4.5"と日本語Langu…
ユーザインターフェースを操作するときに出力されるファイルを、まとめて保存するためのディレクトリを作成したい。osモジュールのmkdir関数を使えば、任意のディレクトリの作成はできる。 import os os.mkdir('testd') ちょっと困ったのが、すでにディレク…
ユーザがGUIを操作して、その結果出力されるファイルが大量にある場合に、ユーザが事前に指定するディレクトリにまとめて置くようにすると便利だ。 ディレクトリの指定(ファイルを保存するためのディレクトリをまず指定する) wxDirDialogを使えば選択の他…
ユーザが値を入力するボックスをテキストコントロールで作成し、入力前はボックスの色を黄色にしておく。なんらかの値を入力し終わったらボックスの色を白くすることで、入力が終了したことを認識させる。ボックスの色は、SetBackgroundColourメソッドを使う…
計算で使う円周率の表示方法。 import math print math.pi その他、mathモジュールが提供する関数は以下を参照。http://www.python.jp/doc/release/lib/module-math.html
wxStaticTextを使って、文字を表示する場合にほとんどすべての文字は問題なく表示できるのであるが、"&"だけどうしても表示できなかった。 "&"を直接書くと化ける(Windows XPでしか試していないが、"_"が表示される)。 "\&"としてもダメだった。 試行錯誤…
Pythonとは別のプログラム言語で作成したプログラムを、wxPythonのGUIから実行するときの手順をまとめておく。以前からたびたびやっているのだが、やるたびにどう書くのか迷ってしまうので。まずは、ProgramTest.py。 これはモジュールで、入力ファイル(file…
グリッドで表を作り、セルの中に実数値を入力できるようにするために、wxGridを使った。 数値の入力には、wxGridCellFloatEditorを利用する。 例えば、以下のように書くことができる。 import wx import wx.grid as gridlib class InpValue(gridlib.Grid): d…