入門 Perl/Tk

[cover photo]
TOPICS
Programming , Linux
発行年月日
PRINT LENGTH
440
ISBN
4-87311-008-4
原書
Learning Perl/Tk
FORMAT
Print
4,180円
この商品は品切れ再入荷未定です

GUIアプリの作成は、1から記述すると多大な労力を要します。自他ともに認める怠け者集団であるPerlユーザは面倒なことは望みません。しかし、Perlにはコマンドラインのインタフェースしかありませんでした。その状況をTkが変えたのです。PerlのTk拡張(Perl/Tk)を使うと、Perlの簡便性を利用してGUIアプリを作成できます。Perl/TkというとUnix用と感じるかもしれませんが、Windows 95/NTでも利用できるのです。本書を読んでPerl/Tkでプログラミングしてみましょう。

目次

はじめに

1章 Perl/Tkの概要
        1.1 Perl(とTk)の略歴
        1.2 UnixとWindows 95/NTの両方で使えるPerl/Tk
                1.2.1 バージョン
        1.3 なぜグラフィカルユーザインタフェースを使うのか
        1.4 なぜPerl/Tkを使うのか
        1.5 Tkモジュールのインストール
        1.6 ウィジェットの生成
                1.6.1 トップレベルとメインウィンドウ、フレームウィジェットについて
        1.7 コーディングスタイル
        1.8 ウィジェットの表示
        1.9 イベントループに関する考察
        1.10    例題 Hello World
        1.11    exitとdestroyの違い
        1.12    ウィジェットの種類に応じた命名規則
        1.13    テストやデバッグのための出力
        1.14    簡単なウィンドウの設計

2章 ジオメトリ管理
        2.1 packジオメトリマネージャ
                2.1.1 packのオプション
                2.1.2 ウィジェットの位置
                2.1.3 割り当て領域
                2.1.4 割り当て領域のフィル
                2.1.5 割り当て領域のエクスパンド
                2.1.6 ウィジェットのアンカー位置
                2.1.7 ウィジェットの詰め込み順序
                2.1.8 ウィジェットのパッド
                2.1.9 親以外のウィジェット上への表示
                2.1.10  packジオメトリマネージャに関連するメソッド
        2.2 gridジオメトリマネージャ
                2.2.1 特殊文字
                2.2.2 gridのオプション
                2.2.3 明示的な行と列の指定
                2.2.4 明示的な行と列の連結
                2.2.5 セルにおけるウィジェットのフィル
                2.2.6 ウィジェットのパッド
                2.2.7 異なる親の指定
                2.2.8 行と列の設定
                2.2.9 ウィジェットの削除
                2.2.10  情報の入手
                2.2.11  ウィジェットの位置
                2.2.12  伝播
                2.2.13  行と列の数は?
                2.2.14  gridにおけるスレーブ
        2.3 placeジオメトリマネージャ 
                2.3.1 placeのオプション
                2.3.2 絶対座標
                2.3.3 相対座標
                2.3.4 ウィジェットのアンカー
                2.3.5 幅と高さ
                2.3.6 枠に関するオプション
                2.3.7 placeに関連するメソッド
        2.4 ジオメトリ管理について

3章 基本的なボタン
        3.1 ボタンウィジェット
                3.1.1 ボタンの生成
                3.1.2 ボタンのオプション
                3.1.3 テキストの表示
                3.1.4 画像またはビットマップの表示
                3.1.5 コールバックの設定
                3.1.6 -commandコールバックの定義
                3.1.7 ボタンの無効化
                3.1.8 テキストの操作
                3.1.9 ボタンの表示形式
                3.1.10  ボタンの大きさの変更
                3.1.11  キーボードマップの追加
                3.1.12  色に関するオプション
                3.1.13  マウスカーソルの変更
                3.1.14  フォーカスに関するオプション
                3.1.15  強調表示用の枠の変更
                3.1.16  ボタンの設定
                3.1.17  ボタンの明滅
                3.1.18  ボタンの作動
        3.2 試してみよう

4章 チェックボタンとラジオボタン
        4.1 チェックボタンウィジェット
                4.1.1 チェックボタンのオプション
                4.1.2 インジケータの状態
                4.1.3 コールバックの設定
                4.1.4 オンとオフの値
                4.1.5 インジケータの色
                4.1.6 インジケータの非表示
                4.1.7 ラベルとしての画像表示
                4.1.8 チェックボタンの表示形式
                4.1.9 チェックボタンの設定
                4.1.10  チェックボタンのオンとオフ
                4.1.11  チェックボタンの明滅
                4.1.12  チェックボタンの作動
        4.2 ラジオボタンウィジェット
                4.2.1 ラジオボタンの生成
                4.2.2 ラジオボタンのオプション
                4.2.3 -variableオプションの使用
                4.2.4 値の設定
                4.2.5 ラジオボタンの表示形式
                4.2.6 ラジオボタンの設定
                4.2.7 ラジオボタンの選択と解除
                4.2.8 ラジオボタンの明滅
                4.2.9 ラジオボタンの作動
        4.3 試してみよう

5章 ラベルとエントリ
        5.1 ラベルウィジェット
                5.1.1 ラベルの生成
                5.1.2 ラベルのオプション
                5.1.3 ラベルは他のウィジェットとどのように違うのか
                5.1.4 レリーフ
                5.1.5 ステータスメッセージの例
                5.1.6 入れ物としてのフレーム
                5.1.7 ラベルの設定
        5.2 エントリウィジェット
                5.2.1 エントリウィジェットの生成
                5.2.2 エントリのオプション
                5.2.3 エントリの内容を保持する変数
                5.2.4 レリーフ
                5.2.5 エントリのインデックス
                5.2.6 テキスト選択に関するオプション
                5.2.7 入力カーソル
                5.2.8 パスワードエントリ
                5.2.9 スクロールバーとの組み合わせ
                5.2.10  エントリウィジェットの設定
                5.2.11  テキストの削除
                5.2.12  エントリウィジェットの内容
                5.2.13  入力カーソルの移動
                5.2.14  数値表現によるインデックスの取得
                5.2.15  テキストの挿入
                5.2.16  テキストの走査
                5.2.17  セレクションの使い方
                5.2.18  エントリウィジェットの表示領域の変更
        5.3 試してみよう

6章 スクロールバー 
        6.1 スクロールバーの構成要素
        6.2 Scrolledメソッド
                6.2.1 Scrolledで生成したスクロールバーの設定
        6.3 スクロールバーウィジェット
                6.3.1 スクロールバーウィジェットの生成
                6.3.2 スクロールバーのオプション
                6.3.3 スクロールバーの色
                6.3.4 スクロールバーの表示形式
                6.3.5 スクロールバーの向き
                6.3.6 矢印とスライダの使い方
                6.3.7 コールバックの設定
                6.3.8 スクロールバーを他のウィジェットと連動させる方法
                6.3.9 スクロールバーの設定
                6.3.10  表示領域の設定
                6.3.11  現在の表示領域
                6.3.12  構成要素をアクティブにする
                6.3.13  ピクセル値による移動量の算出
                6.3.14  トラフ上の位置
                6.3.15  構成要素の識別
        6.4 例題
                6.4.1 エントリウィジェット
                6.4.2 リストボックス、テキスト、キャンバス
                6.4.3 1つのスクロールバーと複数のウィジェット
        6.5 試してみよう

7章 リストボックスウィジェット
        7.1 リストボックスの生成と項目の挿入
        7.2 リストボックスのオプション
        7.3 選択モード
                7.3.1 オペレーティングシステムによる違い
        7.4 色
        7.5 リストボックスの表示形式
                7.5.1 選択項目の表示形式
                7.5.2 リストボックスの特別なリサイズ
        7.6 リストボックスの設定
        7.7 項目の挿入
        7.8 項目の削除
        7.9 項目の取得
        7.10    選択のためのメソッド
                7.10.1 項目の選択
                7.10.2 項目の選択解除
                7.10.3 選択状況の判断
                7.10.4 選択のアンカー
        7.11    インデックスによる表示項目の移動
        7.12    インデックスの変換
        7.13    項目の数
        7.14    アクティブな項目と選択項目
        7.15    バウンディングボックス
        7.16    y座標によるインデックスの検索
        7.17    スクロール用のメソッド
        7.18    リストボックスの使用例
        7.19    試してみよう

8章 テキストウィジェット
        8.1 テキストウィジェットの生成と使用法
        8.2 テキストウィジェットのオプション
                8.2.1 フォント
                8.2.2 ウィジェットの大きさ
                8.2.3 ウィジェットの表示形式
                8.2.4 行間の余白
                8.2.5 タブ位置
        8.3 休憩: 簡単な例題
        8.4 テキストインデックス
                8.4.1 基本インデックスの値
                8.4.2 インデックス修飾子
                8.4.3 テキストインデックスの例
        8.5 テキストタグ
                8.5.1 タグとともに使われるオプション
                8.5.2 簡単なタグの例
                8.5.3 "sel"タグを利用したテキスト選択の操作
                8.5.4 タグの設定と生成
                8.5.5 既存のテキストへのタグの付加
                8.5.6 タグと組み合わせたバインディングの使い方
                8.5.7 すべてのタグの削除
                8.5.8 テキストからタグをはずす
                8.5.9 タグの優先順位の変更
                8.5.10  タグ名の取得
                8.5.11  タグの適用個所の特定
        8.6 テキストの挿入
        8.7 テキストの削除
        8.8 テキストの取り出し
        8.9 インデックス値の変換
        8.10    インデックス値の比較
        8.11    インデックス個所の表示
        8.12    文字の大きさの取得
        8.13    行情報の取得
        8.14    テキストウィジェットの内容の検索
        8.15    スクロール
        8.16    マーク
                8.16.1 グラビティの設定と取得
                8.16.2 マーク名の取得
                8.16.3 マークの生成と削除
        8.17    ウィジェットの埋め込み
                8.17.1 window メソッド
        8.18    内部デバッグフラグ
                8.18.1 走査
        8.19    試してみよう

9章 キャンバスウィジェット
        9.1 キャンバスの作成
        9.2 座標系
        9.3 スクロール可能領域
        9.4 キャンバスでのバインディング
        9.5 キャンバスのオプション
                9.5.1 新しいオプション
                9.5.2 スクロールのための新規オプション
                9.5.3 テキストアイテムのオプション
                9.5.4 キャンバスウィジェットのオプション一覧
        9.6 キャンバスでのアイテムの生成
                9.6.1 円弧(arc)アイテム
                9.6.2 ビットマップ(bitmap)アイテム
                9.6.3 イメージアイテム
                9.6.4 線(line)アイテム
                9.6.5 楕円(oval)アイテム
                9.6.6 多角形(polygon)アイテム
                9.6.7 矩形(rectangle)アイテム
                9.6.8 テキスト(text)アイテム
                9.6.9 ウィジェットアイテム
        9.7 キャンバスウィジェットの設定
        9.8 キャンバスウィジェットのアイテムの設定
        9.9 タグ
                9.9.1 タグを用いたアイテムへのバインディング
                9.9.2 タグの検索
                9.9.3 特定のアイテムのタグの取得
        9.10    バウンディングボックスの座標の取得
        9.11    座標の変換
        9.12    アイテムの移動
        9.13    表示リストの変更
        9.14    アイテムの削除
        9.15    タグの削除
        9.16    アイテムの型の判定
        9.17    入力フォーカスの設定
        9.18    キャンバスのポストスクリプト出力
        9.19    キャンバスの拡大・縮小
        9.20    走査
                9.20.1 スクロール用のメソッド
        9.21    絵を書くためのプログラムの例
        9.22    試してみよう

10章 スケールウィジェット
        10.1 スケールの作成
        10.2 コールバックの設定
        10.3 配置の方向
        10.4 最小値と最大値
        10.5 表示値と格納値
        10.6 ラベルの追加
        10.7 値の増分の表示
        10.8 スケールの大きさの変更
        10.9 めったに使われないオプション
        10.10   スケールの設定
        10.11   スケールの値の取得
        10.12   スケールの値の設定
        10.13   座標値の取得
        10.14   スケールの部分の判定
        10.15   試してみよう

11章 メニュー
        11.1 さまざまなメニューのタイプ
        11.2 メニューボタンウィジェット
                11.2.1 メニューボタンの作成
                11.2.2 メニューボタンのオプション
                11.2.3 ボタン部分のみに対するオプション
                11.2.4 ティアオフ項目
                11.2.5 色に関するオプション
                11.2.6 ボタンのインジケータ
                11.2.7 メニュー項目の指定
                11.2.8 アクセラレータ
                11.2.9 メニュー項目へのイメージの表示
                11.2.10 別のメニューの設定
                11.2.11 メニューボタンの設定
                11.2.12 メニューボタン項目の設定
                11.2.13 メニューボタンへの項目の追加
                11.2.14 チェックボタンの作成
                11.2.15 ラジオボタンの作成
                11.2.16 セパレータ項目の作成
                11.2.17 カスケードメニューの追加
                11.2.18 メニュー項目へのリファレンスの取得
        11.3 メニューボタンの使用例
                11.3.1 メニューバーの作成
                11.3.2 動的なドキュメントリスト
        11.4 メニューウィジェット
                11.4.1 基本的なメニューの作成
                11.4.2 メニュー作成のオプション
                11.4.3 メニューの表示形式
                11.4.4 メニューのフォントとカーソル
                11.4.5 メニューを表示する前のサブルーチンの呼び出し
                11.4.6 メニュー項目の指定
                11.4.7 メニューのインデックス
                11.4.8 メニューウィジェットの設定
                11.4.9 メニュー項目の設定
                11.4.10 項目の追加
                11.4.11 メニュー項目の挿入
                11.4.12 メニュー項目の削除
                11.4.13 メニュー項目の実行
                11.4.14 項目の型の判定
                11.4.15 インデックス値の変換
                11.4.16 メニューの表示
                11.4.17 カスケードメニューの表示
                11.4.18 メニューの消去
                11.4.19 項目位置の取得
                11.4.20 右ボタンクリックメニューの例
        11.5 オプションメニューウィジェット
                11.5.1 オプションメニューの作成と設定
        11.6 試してみよう

12章 フレーム
        12.1 フレームの作成
        12.2 フレームの表示形式
                12.2.1 フレームへのラベルの付加
        12.3 フレームは非対話的である
        12.4 やっかいなカラーマップ
                12.4.1 魔法のようなクラスオプション
        12.5 フレームのメソッド
        12.6 試してみよう

13章 トップレベルウィジェット
        13.1 トップレベルウィジェットの作成
        13.2 トップレベルのメソッド
                13.2.1 トップレベルの設定
                13.2.2 トップレベルの大きさの設定
                13.2.3 最大の大きさ
                13.2.4 最小の大きさ
                13.2.5 リサイズの制限
                13.2.6 幅と高さに制約を加える
                13.2.7 タイトルの設定
                13.2.8 トップレベルの表示
                13.2.9 トップレベルの非表示状態への移行
                13.2.10 トップレベルのアイコン化
                13.2.11 アイコンビットマップの指定
                13.2.12 アイコンマスクの指定
                13.2.13 アイコン名の設定
                13.2.14 アイコン位置の設定
                13.2.15 アイコンの代わりにウィンドウを使用する
                13.2.16 状態の取得
                13.2.17 クライアントマシン名の設定
                13.2.18 ウィンドウプロパティ
                13.2.19 カラーマッププロパティ
                13.2.20 コマンドプロパティ
                13.2.21 フォーカスモデル
                13.2.22 トップレベルの親の取得
                13.2.23 アプリケーショングリッド
                13.2.24 リーダになる
                13.2.25 装飾の除去
                13.2.26 誰がウィンドウを配置したのか
                13.2.27 誰が大きさを指定したのか
                13.2.28 通常のウィンドウではない
        13.3 最後に
        13.4 試してみよう

14章 イベントのバインディング
        14.1 bindメソッド
        14.2 コールバックへの引数
        14.3 イベントシーケンスの定義
                14.3.1 モディファイア
                14.3.2 イベントの種類(およびその詳細情報)
        14.4 イベント情報
                14.4.1 座標
                14.4.2 ボタン番号
                14.4.3 高さと幅
                14.4.4 キーボード情報
                14.4.5 イベントの種類
        14.5 bindで作成されたコールバックからの脱出
        14.6 bindtagsメソッド
        14.7 bindの用途

15章 複合ウィジェット
        15.1 例題を横から眺める
        15.2 ファイルの場所
        15.3 フレームを元にした複合ウィジェットの作成
                15.3.1 Populate の内部
                15.3.2 フレームを元にしたウィジェットのおさらい
        15.4 トップレベルを元にした複合ウィジェット

16章 すべてのウィジェットに共通するメソッド
        16.1 家系図の作成
                16.1.1 ウィジェットの子供
                16.1.2 ウィジェットの名前
                16.1.3 ウィジェットの親
                16.1.4 ウィジェットのトップレベル
                16.1.5 ウィジェットのマネージャ
                16.1.6 ウィジェットのクラス
                16.1.7 ウィジェットの識別子
                16.1.8 ウィジェットのパス
        16.2 色に関連するメソッド
                16.2.1 カラーマップが満杯かどうか
                16.2.2 セルの数
                16.2.3 色の深さ
                16.2.4 RGB 値の変換
                16.2.5 色の設定
                16.2.6 あらかじめ定義されている色調
        16.3 オプションデータベース
        16.4 アプリケーションの名前
        16.5 ウィジェットの存在
        16.6 ウィジェットがマップされているか
        16.7 画面上の距離の換算
        16.8 ウィジェットの大きさ
                16.8.1 ウィジェットのジオメトリ
                16.8.2 ウィジェットの要求する高さ
                16.8.3 ウィジェットの要求する幅
                16.8.4 実際の幅
                16.8.5 実際の高さ
        16.9 ウィジェットの位置
                16.9.1 ルートウィンドウからの相対位置
                16.9.2 親に対する相対座標
                16.9.3 ルートウィンドウに対する相対座標
                16.9.4 仮想デスクトップ座標
                16.9.5 デスクトップに対するカーソルの相対座標
        16.10   スクリーンの情報
                16.10.1 スクリーン名
                16.10.2 スクリーンの高さと幅
                16.10.3 セルの数
                16.10.4 スクリーンの深さ
                16.10.5 色表現のタイプ
                16.10.6 サーバのタイプ
                16.10.7 ウィジェットが表示されているか
        16.11   アトムに関するメソッド
        16.12   ベルを鳴らす
        16.13   クリップボードに関するメソッド
        16.14   セレクションに関するメソッド
                16.14.1 セレクションのクリア
                16.14.2 セレクションの取得
                16.14.3 コールバックの設定
                16.14.4 セレクション所有者の取得
                16.14.5 セレクション所有者の設定
        16.15   ウィジェットの削除
        16.16   フォーカスに関するメソッド
        16.17   グラブに関するメソッド
        16.18   アプリケーション間の通信
        16.19   イベントの発生待ち
                16.19.1 ファイルイベント
        16.20   コマンド行オプションの解析
        16.21   実行の遅延

付録A configureとcgetによるウィジェットの設定
        A.1 configureメソッド
                A.1.1 cgetメソッド
        A.2 各ウィジェットのデフォルト値の表
                ボタン(Button)
                キャンバス(Canvas)
                チェックボタン(Checkbutton)
                エントリ(Entry)
                フレーム(Frame)
                ラベル(Label)
                リストボックス(Listbox)
                メニュー(Menu)
                ラジオボタン(Radiobutton)
                スケール(Scale)
                スクロールバー(Scrollbar)
                テキスト(Text)
                トップレベル(Toplevel)
付録B オペレーティングシステムごとの違い
        B.1 Unix
        B.2 Windows NTとWindows 95
                B.2.1 Windows 95での問題
                B.2.2 選択
付録C フォント
        C.1 フォント指定文字列
                C.1.1 利用可能なフォントの取得
        C.2 フォントに関するメソッド
                C.2.1 作成
                C.2.2 設定
                C.2.3 実際の情報
                C.2.4 削除
                C.2.5 テキストの大きさ
                C.2.6 フォントメトリック
                C.2.7 ファミリと名前
索引