試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Python

PyGTKでツリービューにリストのデータ(ListStore)を表示(ボタンからデータの順番を入れ替える・コード例)

「PyGTKでツリービューにリストのデータ(ListStore)を表示(ボタンからデータの順番を入れ替える・メモ)」の続き。 コード例 「上へ」の処理を行うハンドラは「PyGTKでツリービューにリストのデータ(ListStore)を表示(ボタンからデータの順番を入れ替える・メ…

PyGTKでツリービューにリストのデータ(ListStore)を表示(ボタンからデータの順番を入れ替える・メモ)

GTK+のツリービュー上のデータの並び順を変えられるようにしたいとき、「PyGTKでツリービューにリストのデータ(ListStore)を表示(項目をGUI上で追加/削除、データの並べ替えや入れ替えなど)」の例のようにドラッグ・アンド・ドロップを用いて移動できるよう…

PyGTKでGtkBuilderをレイアウトに用いながらGUI部品のクラスを継承

PyGTKでは、GladeやGtkBuilderといったXML形式のユーザインターフェース定義(ファイルあるいは文字列)を読み込んでGUIのインターフェース部分に使用することができる。これは便利ではあるのだが、GUI部品のクラスを継承してその部品に関する値や処理をまとめ…

ドメインの名前解決チェックを行うGUIツールをPyGTKで作成

「Pythonでドメイン名からIPv4アドレスを得る」では引数に指定された各ドメインに対して名前解決を試みてそれぞれの結果を出力するPythonスクリプトを作成したが、今回はテキストビューに入力されたドメインを行ごとに読み取って成功したものと失敗したもの…

PyGTKでテキストビュー内の文字列にスタイルを適用する

GTK+のテキストビュー(gtk.TextViewオブジェクト)に表示されるテキストバッファ(gtk.TextBufferオブジェクト)には文字情報以外に書式などの情報を適用するタグ(gtk.TextTagオブジェクト)を含めることができる。これによりテキストビュー内の一部(もしくは全…

Pythonの例外とその処理に関する覚え書き(ユーザ定義の例外など)

「Pythonの例外とその処理に関する覚え書き(概要、書式、後始末処理)」に続いて、例外に関して幾つかのことをまとめておく。 (2014/11/13)リンク先を修正し、サンプルコードの内容もPython 3に対応し、本文の記述も一部書き直している。 else節 例外を起こす…

Pythonの例外とその処理に関する覚え書き(概要、書式、後始末処理)

以前Pythonの基本的なことをまとめたとき、例外については参考URLのリンクを貼り付けただけだったので、この機会にまとめてみた。 (2014/11/12)リンク先を修正し、サンプルコードの内容もPython 3対応のものを追加し、本文の記述も一部書き直している。 例外…

PyGTKでツリービューにリストのデータ(ListStore)を表示(モデルの内容を取り出す)

ここではPyGTKのListStore形式のデータから内容を取り出す手順についてを主に扱う。 取り出し方 基本的にはgtk.TreeModelオブジェクトのメンバ関数get_value()あるいはget()を用いて、取り出したい項目を指し示すgtk.TreeIterオブジェクトを渡すことになる。…

PyGTKでツリービューにリストのデータ(ListStore)を表示(項目をGUI上で追加/削除、データの並べ替えや入れ替えなど)

PyGTKにおけるツリービューに関してこれまでに幾つかの例とメモを書いてきたが、データの追加に関してはあらかじめ用意しておいたものを流し込んでいただけで、削除もできなかった。そこで今回は項目をGUI上で追加/削除できるようにした。 また、同時に 項目…

PyGTKでツリービューに階層を持ったデータ(TreeStore)を表示

これまでにListStoreというリスト形式の(階層を持たない)データをツリービューに関連付けて表示してきたが、ここでは階層を持ったTreeStoreという形式のデータを用いてツリービューに表示してみる。 メモ TreeStore(gtk.TreeStoreオブジェクト)へのappend()…

PyGTKでツリービューにリストのデータ(ListStore)を表示(データを変更可能にする・コード例)

「PyGTKでツリービューにリストのデータ(ListStore)を表示(データを変更可能にする・メモ)」の続き。そのメモを踏まえた上でのコード例となる。 なお、今回の例では画像を描画するため、そのデータを先に貼り付ける。これは今後貼り付ける別のコードでも使用…

PyGTKでツリービューにリストのデータ(ListStore)を表示(データを変更可能にする・メモ)

「PyGTKでツリービューにリストのデータ(ListStore)を表示(概要とメモ)」と「PyGTKでツリービューにリストのデータ(ListStore)を表示(簡単な例)」の続き。前回の例をもとに、データの変更操作を行えるようにしてみた中でのメモとなる。 テキストのセルを編集…

Pythonにおけるクラスの静的メンバについて

はじめに 以前「オブジェクト指向についての覚え書きとPython上のクラスと組み込みオブジェクトについて」という記事も書いている通り、オブジェクト指向やその中のクラス設計などについてはまだよく分かっていない部分がかなり多く、本記事においても誤りが…

PyGTKでツリービューにリストのデータ(ListStore)を表示(簡単な例)

「PyGTKでツリービューにリストのデータ(ListStore)を表示(概要とメモ)」の続き。 簡単な例 下の例では学級生徒一覧のようなものを表示する。データはタプルのリストとして用意しておいたものをリストモデル(ListStore)に流し込んでいるだけで、操作はできな…

PyGTKでツリービューにリストのデータ(ListStore)を表示(概要とメモ)

ツリービューについて GTKのツリービューという部品はリスト(gtk.ListStoreオブジェクト)を表示するのはもちろん、階層を持ったデータ(gtk.TreeStoreオブジェクト)を表示することもできる。どちらのデータ形式であっても、データ自身とツリービューとは関連…

Pythonのbase64サポートモジュールについて

Pythonには標準でBase64エンコード/デコードをサポートする「base64」モジュールがあり、以下の関数に対象の文字列を渡すことで、戻り値として処理結果が得られる。 標準バージョン: エンコード: base64.standard_b64encode() デコード: base64.standard_b64…

Pythonから外部WebブラウザでURLを開く

Pythonでは「webbrowser」モジュールを使用することで簡単に外部のWebブラウザからURLを開けることが分かった。 例として #! /usr/bin/python import webbrowser import sys try: if webbrowser.open ('http://docs.python.jp/3/library/webbrowser.html') =…

Pythonのimport文について

(2014/12/30)リンク先を修正し、サンプルコードの内容もPython 3に対応した。また、幾つかの内容を追加している。 import文とモジュール/パッケージ 探索パス import文のバリエーション 基本的な形 モジュール名をたどらないで使用する 別名で使用 Pythonの…

PyGTKでファイルマネージャからファイルアイコンをドラッグ・アンド・ドロップを受け取る(URIリストの加工と環境による違いの吸収)

「PyGTKでファイルマネージャからファイルアイコンをドラッグ・アンド・ドロップを受け取る(ファイルマネージャや環境による挙動の違いについて)」ではD&Dを受け取ったときに「drag_data_received」シグナルのハンドラに渡される引数から得られる情報を可能…

PyGTKでファイルマネージャからファイルアイコンをドラッグ・アンド・ドロップを受け取る(ファイルマネージャや環境による挙動の違いについて)

「PyGTKでファイルマネージャからファイルアイコンをドラッグ・アンド・ドロップを受け取る(概要と簡単な例)」の続き。前回の記事の最後に貼り付けたコードを実行し、GUIファイルマネージャからファイルやディレクトリのアイコンをD&Dして、端末に表示される…

PyGTKでファイルマネージャからファイルアイコンをドラッグ・アンド・ドロップを受け取る(概要と簡単な例)

GUIアプリケーションにおいて、ドラッグ・アンド・ドロップ(以下D&D)をすることでデータをアプリケーション間でやりとりしやすくなることがある。 PyGTKでもD&Dを扱うことは可能で、ここで扱うのは受け取り側のアプリケーションでファイルマネージャのアイコ…

PyGTK上のタイマー処理について

PyGTK上で、ある時間が経過したときに何かの処理をさせたい、あるいは一定間隔で繰り返し処理をさせたいといったときにはタイマーの処理を行うことで実現できるのだが、まだまとめていなかったのでここで扱うことにする。 (2009/8/10)コード中の短い範囲内に…

システムトレイ上のALSA用ミキサーを作成

PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半) システムトレイアイコンの並び方向に関する覚え書き(2009/2/10現在) PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(後半) システムトレイアイコン…

PythonからALSAのミキサーを扱う

pyalsaaudio(http://pyalsaaudio.sourceforge.net/)を用いると、PythonのコードからALSAのミキサーやPCMデバイスを操作することができる。 ここではミキサー項目の取得と音量取得/変更を試してみることにする。 ディストリのパッケージ Gentooでは「pyalsaau…

システムトレイアイコンの隣のポップアップウィンドウにスライダーを表示する(後半)

「PyGTKでシステムトレイアイコンの隣のポップアップウィンドウにスライダーを表示する(前半)」の続き。 値の取り出し 値はgtk.Rangeオブジェクトのメンバ関数get_value()により取り出すことができ、整数として使用したい場合はint()で整数に変換する。 実際…

PyGTKでシステムトレイアイコンの隣のポップアップウィンドウにスライダーを表示する(前半)

PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半) PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(後半) ではシステムトレイのアイコンの隣に小さなポップアップウィンドウを表示してみたが、ここに…

Pythonのファイルオブジェクトの行ごとの処理についての書き方を改善

これまで f = open ([ファイルの場所], "r") while True: line = f.readline () if not line: break [以下行ごとの処理] f.close () のように記述していたが、(今さらではあるかもしれないが)ファイルオブジェクトのreadline()を使用する代わりにfor文で f =…

PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(後半)

「PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半)」の続き。 コード例 下のコードを実行してシステムトレイに出たアイコンをクリックすると、トレイアイコンが縦並びのときには横に、横並びのときには縦に長い(比率が1:5の)…

システムトレイアイコンの並び方向に関する覚え書き(2009/2/10現在)

「PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半)」で、手元のGNOMEのパネルでは画面左右にパネルを配置したときなど、アイコンが縦並びのときにも並び方向情報が正常に取得できていたのだが、Fluxbox上ではそうならないとの…

PyGTKでシステムトレイのアイコンの隣にポップアップウィンドウを作成する(前半)

システムトレイのアイコンをクリックしたときにメニューを表示するのは簡単で、表示位置をアイコンに合わせることもできる(詳しくは「PyGTKでシステムトレイを使用してメニューを表示する」を参照)。しかし、デスクトップ環境のパネルに配置する音量調整のア…