2007-01-01から1年間の記事一覧
値を入力する項目が普段は折りたたまれているが、ボタンを押すことで展開するようにしたい。 wxPythonのデモの中に、ColapsiblePane.pyがあるので、それを参考にちょこっとテストしてみたが、うまく動作しない。ボタンを押すことで展開はするのであるが、他…
eclipseを起動して、 Help > Software Updates > Find and InstallからPyDevをインストールすることにした。アップデートサイトとして、 http://pydev.sourceforge.net/updates/ を加える。 後は表示に従って、関係のありそうなものをすべてインストールした…
wxPanelでパネルを作り、そこにコントロールをどんどん置いていくと画面に納まらなくなってしまった。そこで縦方向にスクロールさせるべく、wxPanelのスタイルを調べるとwxVSCROLLというものがあるらしい。それを指定して下のようにやってみた。 """ 動かな…
見つけたサイト。 http://www.geocities.co.jp/SiliconValley-Oakland/8192/ 参考になるなー。
インストールしたEclipse Europaを日本語で使いたいが、現在ランゲージパックがないようなので、Pleiadesというプラグインを使ってみる。 http://itpro.nikkeibp.co.jp/article/COLUMN/20070720/277966/の記述に従って導入する。 以下のダウンロードサイトか…
Eclipseといっても、javaを使おうという話ではない。Pythonの話。 WindowsではIDLEが使えるのでPythonのコードを書くのに不満はない。ところが家のLinuxでは開発環境と呼べるものがない状態であるので、Eclipse+PyDevでも使ってみようかと思い立つ。 そこでj…
複数の数値をきれいに入力するために、まず入力用の表を作る(行数は1行で固定する)。この表はwxGridで作成する。続いて、ボタンを押すことで、入力用の表に入力した数値を別の表へ順番に記入していく(行数はだんだん増えてゆく)。この出力用の表はwxLis…
横線を描きたいときには、wxStaticLineを使うといい。使い方は以下の通り。 sizer = wx.BoxSizer(wx.VERTICAL) ... line = wx.StaticLine(self.Pan1, -1, style=wx.LI_HORIZONTAL) sizer.Add(line, 0, wx.GROW|wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, 5) ...
昨日試した方法よりも、かなりきれいに並べられる方法に到達したので記録しておく。 基本的には”サイザーの入れ子”である。 横線は引けるし、画面の中央にパネルを出せるし、でほぼ理想どおりに動いてくれた。 今後はサブパネルを開くときには、これを雛型に…
今の私にとっては、パネルの中できれいにコントロールを配置することは非常に難しい課題だ。絶対的な方法というものが見えてこない。いろいろ試行錯誤している。demoの中のSizedControls.pyで使われている方法は、かなり自分の理想と近い配置を実現している…
サイザーを使ってウィンドウ上にコントロールを並べているのだが、どうも思うように配置ができない。色々と試行錯誤中であるのだが、デモの中で見たことのないテクニックを発見した(単に自分が勉強不足なだけだが)。 demo/ExpandoTextCtrl.pyの中で、パネ…
別のディレクトリにあるファイルを指定するときに、パスをどう与えればいいのかわからなかったため、戸惑った。メモしておく。 os.path.join(path, ...)os.pathのjoin関数を使って、引数に指定した値を連結してパス名を作る。引数の順番は重要。 (例)カレ…
特定のウェブページを開くようにしたい。 最初、wx.htmlをimportして実現しようとした。しかしページに繋がったのだが、表示がうまくいかなかった。たぶんまだサイザーの使い方がマスターできていない。 代わりにwebbrowserモジュールをimportする方法で実現…
Linuxの共有マシンでwxPythonが使えないと不便であるので、いまさらながらインストールすることにした。なにせ共有マシンであるので、ローカルにインストールすることが前提(rootには頼みづらい)。自動的にインストールしてくれるWindowsと違って、ビルド…
wxPythonのデモを起動すると、画面の中央に数秒間ロゴが表示される。それと同じものを自分のコードの中でもやろうとして、demo/Main.pyからその部分を適当に取り出してきた。作成したのが、以下のOpenLogo.py。写真のように表示できた。 なんか、ShowMainの…
昨日のコードprocess03.pyを改良。 以下のように、リストLの要素sのオフセット値を得るためにipointという変数を使っていた。 ipoint = -1 # find a line including variable definitions for s in L: ipoint +=1 if s.find('PARAMETER') != -1 and s.find('…
プログラムを実行したときに、プログラム中に定義した変数の値が不適切なためエラー終了することがある。その場合に、変数に値を適切なものに書き換えてプログラムの再コンパイルを行いたい。コンパイル終了後には再びプログラムを実行しなおす。 これら一連…
(その2)ではファイルの内容をうまく表示できていなかった。春風はるかさんのコメントに従って早速修正。MenuExec4.pyを次のようにした。 import wx import os wildcard = "Log files (*.log)|*.log|" \ "All files (*.*)|*.*" class MyApp(wx.PySimpleApp…
前回は、ファイルダイアログを開いてファイルを選択するところまで。今回はTextCtrlでその内容を表示する(MenuExec2.pyを修正してMenuExec3.pyとする)。MenuExec3.pyは以下の通り。 import wx import os wildcard = "Log files (*.log)|*.log|" \ "All fil…
期待する動作: 想定しているコマンドの実行結果は標準でログファイルへ書き出される。なので、ログファイルの中身を確認できるようにする。メニューから"Show log"を選ぶとファイル選択画面が表示される。そこでログファイルを選択して開くと、ファイルの中…
先日作成したcmd_wrapper2.pyの中のサブプロセスを実行する部分をモジュール化した。 さらに、プロセスの開始と終了時にそれぞれの時刻を表示する(time.ctime)ようにする。以下、そのモジュール ExecCmd.pyを示す。 #!/usr/bin/env python """ Program name:…
ここしばらく、サブプロセスを実行するためのスクリプトを書く方に集中していたので、wxPythonから離れていた。しばらくは入り組んだ処理をスクリプトで自動的に行う作業をやらなくてはいけない。順番としてはその後で、GUIを作成することになる。でもwxPyth…