Python
「PyGTKでツリービューにリストのデータ(ListStore)を表示(ボタンからデータの順番を入れ替える・メモ)」の続き。 コード例 「上へ」の処理を行うハンドラは「PyGTKでツリービューにリストのデータ(ListStore)を表示(ボタンからデータの順番を入れ替える・メ…
GTK+のツリービュー上のデータの並び順を変えられるようにしたいとき、「PyGTKでツリービューにリストのデータ(ListStore)を表示(項目をGUI上で追加/削除、データの並べ替えや入れ替えなど)」の例のようにドラッグ・アンド・ドロップを用いて移動できるよう…
PyGTKでは、GladeやGtkBuilderといったXML形式のユーザインターフェース定義(ファイルあるいは文字列)を読み込んでGUIのインターフェース部分に使用することができる。これは便利ではあるのだが、GUI部品のクラスを継承してその部品に関する値や処理をまとめ…
「Pythonでドメイン名からIPv4アドレスを得る」では引数に指定された各ドメインに対して名前解決を試みてそれぞれの結果を出力するPythonスクリプトを作成したが、今回はテキストビューに入力されたドメインを行ごとに読み取って成功したものと失敗したもの…
GTK+のテキストビュー(gtk.TextViewオブジェクト)に表示されるテキストバッファ(gtk.TextBufferオブジェクト)には文字情報以外に書式などの情報を適用するタグ(gtk.TextTagオブジェクト)を含めることができる。これによりテキストビュー内の一部(もしくは全…
「Pythonの例外とその処理に関する覚え書き(概要、書式、後始末処理)」に続いて、例外に関して幾つかのことをまとめておく。 (2014/11/13)リンク先を修正し、サンプルコードの内容もPython 3に対応し、本文の記述も一部書き直している。 else節 例外を起こす…
以前Pythonの基本的なことをまとめたとき、例外については参考URLのリンクを貼り付けただけだったので、この機会にまとめてみた。 (2014/11/12)リンク先を修正し、サンプルコードの内容もPython 3対応のものを追加し、本文の記述も一部書き直している。 例外…
ここではPyGTKのListStore形式のデータから内容を取り出す手順についてを主に扱う。 取り出し方 基本的にはgtk.TreeModelオブジェクトのメンバ関数get_value()あるいはget()を用いて、取り出したい項目を指し示すgtk.TreeIterオブジェクトを渡すことになる。…
PyGTKにおけるツリービューに関してこれまでに幾つかの例とメモを書いてきたが、データの追加に関してはあらかじめ用意しておいたものを流し込んでいただけで、削除もできなかった。そこで今回は項目をGUI上で追加/削除できるようにした。 また、同時に 項目…
これまでにListStoreというリスト形式の(階層を持たない)データをツリービューに関連付けて表示してきたが、ここでは階層を持ったTreeStoreという形式のデータを用いてツリービューに表示してみる。 メモ TreeStore(gtk.TreeStoreオブジェクト)へのappend()…
「PyGTKでツリービューにリストのデータ(ListStore)を表示(データを変更可能にする・メモ)」の続き。そのメモを踏まえた上でのコード例となる。 なお、今回の例では画像を描画するため、そのデータを先に貼り付ける。これは今後貼り付ける別のコードでも使用…
「PyGTKでツリービューにリストのデータ(ListStore)を表示(概要とメモ)」と「PyGTKでツリービューにリストのデータ(ListStore)を表示(簡単な例)」の続き。前回の例をもとに、データの変更操作を行えるようにしてみた中でのメモとなる。 テキストのセルを編集…
はじめに 以前「オブジェクト指向についての覚え書きとPython上のクラスと組み込みオブジェクトについて」という記事も書いている通り、オブジェクト指向やその中のクラス設計などについてはまだよく分かっていない部分がかなり多く、本記事においても誤りが…
「PyGTKでツリービューにリストのデータ(ListStore)を表示(概要とメモ)」の続き。 簡単な例 下の例では学級生徒一覧のようなものを表示する。データはタプルのリストとして用意しておいたものをリストモデル(ListStore)に流し込んでいるだけで、操作はできな…
ツリービューについて GTKのツリービューという部品はリスト(gtk.ListStoreオブジェクト)を表示するのはもちろん、階層を持ったデータ(gtk.TreeStoreオブジェクト)を表示することもできる。どちらのデータ形式であっても、データ自身とツリービューとは関連…
Pythonには標準でBase64エンコード/デコードをサポートする「base64」モジュールがあり、以下の関数に対象の文字列を渡すことで、戻り値として処理結果が得られる。 標準バージョン: エンコード: base64.standard_b64encode() デコード: base64.standard_b64…
Pythonでは「webbrowser」モジュールを使用することで簡単に外部のWebブラウザからURLを開けることが分かった。 例として #! /usr/bin/python import webbrowser import sys try: if webbrowser.open ('http://docs.python.jp/3/library/webbrowser.html') =…
(2014/12/30)リンク先を修正し、サンプルコードの内容もPython 3に対応した。また、幾つかの内容を追加している。 import文とモジュール/パッケージ 探索パス import文のバリエーション 基本的な形 モジュール名をたどらないで使用する 別名で使用 Pythonの…
「PyGTKでファイルマネージャからファイルアイコンをドラッグ・アンド・ドロップを受け取る(ファイルマネージャや環境による挙動の違いについて)」ではD&Dを受け取ったときに「drag_data_received」シグナルのハンドラに渡される引数から得られる情報を可能…
「PyGTKでファイルマネージャからファイルアイコンをドラッグ・アンド・ドロップを受け取る(概要と簡単な例)」の続き。前回の記事の最後に貼り付けたコードを実行し、GUIファイルマネージャからファイルやディレクトリのアイコンをD&Dして、端末に表示される…
GUIアプリケーションにおいて、ドラッグ・アンド・ドロップ(以下D&D)をすることでデータをアプリケーション間でやりとりしやすくなることがある。 PyGTKでもD&Dを扱うことは可能で、ここで扱うのは受け取り側のアプリケーションでファイルマネージャのアイコ…
PyGTK上で、ある時間が経過したときに何かの処理をさせたい、あるいは一定間隔で繰り返し処理をさせたいといったときにはタイマーの処理を行うことで実現できるのだが、まだまとめていなかったのでここで扱うことにする。 (2009/8/10)コード中の短い範囲内に…
PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半) システムトレイアイコンの並び方向に関する覚え書き(2009/2/10現在) PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(後半) システムトレイアイコン…
pyalsaaudio(http://pyalsaaudio.sourceforge.net/)を用いると、PythonのコードからALSAのミキサーやPCMデバイスを操作することができる。 ここではミキサー項目の取得と音量取得/変更を試してみることにする。 ディストリのパッケージ Gentooでは「pyalsaau…
「PyGTKでシステムトレイアイコンの隣のポップアップウィンドウにスライダーを表示する(前半)」の続き。 値の取り出し 値はgtk.Rangeオブジェクトのメンバ関数get_value()により取り出すことができ、整数として使用したい場合はint()で整数に変換する。 実際…
PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半) PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(後半) ではシステムトレイのアイコンの隣に小さなポップアップウィンドウを表示してみたが、ここに…
これまで f = open ([ファイルの場所], "r") while True: line = f.readline () if not line: break [以下行ごとの処理] f.close () のように記述していたが、(今さらではあるかもしれないが)ファイルオブジェクトのreadline()を使用する代わりにfor文で f =…
「PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半)」の続き。 コード例 下のコードを実行してシステムトレイに出たアイコンをクリックすると、トレイアイコンが縦並びのときには横に、横並びのときには縦に長い(比率が1:5の)…
「PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半)」で、手元のGNOMEのパネルでは画面左右にパネルを配置したときなど、アイコンが縦並びのときにも並び方向情報が正常に取得できていたのだが、Fluxbox上ではそうならないとの…
システムトレイのアイコンをクリックしたときにメニューを表示するのは簡単で、表示位置をアイコンに合わせることもできる(詳しくは「PyGTKでシステムトレイを使用してメニューを表示する」を参照)。しかし、デスクトップ環境のパネルに配置する音量調整のア…