• 検索結果がありません。

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 GUI プログラミング Python/Tkinter(Tcl/Tk) の利用 全般 Tcl/Tk とは GUI(Graphical User Interface) 用のスクリプト言語で 此れを利用すると ウィジェット (widget) と呼ば

N/A
N/A
Protected

Academic year: 2021

シェア "PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 GUI プログラミング Python/Tkinter(Tcl/Tk) の利用 全般 Tcl/Tk とは GUI(Graphical User Interface) 用のスクリプト言語で 此れを利用すると ウィジェット (widget) と呼ば"

Copied!
13
0
0

読み込み中.... (全文を見る)

全文

(1)

■ GUI プログラミング ■ § 全般 §

■ Python/Tkinter(Tcl/Tk)の利用

Tcl/Tk とは、GUI(Graphical User Interface)用のスクリプト言語で、此れを利用すると、ウィジェ ット(widget)と呼ばれる部品を使用して簡単に GUI アプリケーションを作成する事が出来る。其の ツールキットで有る Tk を Python で使用出来る様にしたのが Python/Tkinter で有り、Python には標 準で Tkinter が含まれて居るので、Python をインストールする丈で、Python/Tkinter を使用する事が 出来る(但し、カスタムインストールで、tcl/tk and IDLE のチェックを外して居れば使用する事は出 来ない)。 ■ Python/Tkinter の基礎知識 イベント駆動(Event Driven)方式 GUI アプリケーションの場合、ユーザーからの入力やシステムの状態変化等の出来事が発生すると其れ に応じた処理が実行される。此の出来事をイベント(Event)と謂い、イベントを契機にプログラムが 起動される事をイベントドリブン(Event Driven:イベント駆動)と謂う。イベントドリブン型のアプ リケーションは、一般に、下図の様なメインルーチンで構成される。 イベントが発生したか何うかを取得し、発生して居れば其のイベントの種類に応じた処理を行い、発生 して居なければ何もせずに、亦イベントの取得に戻る循環をイベントループと呼ぶ。猶、此のイベント の種類に応じた処理をイベントハンドラ、又は、コールバック関数と呼ぶ。 猶、GUI アプリケーションとしての最低限の機能は Python/Tkinter が装備して居るので、プログラマ はアプリケーション固有の処理をコーディングする丈で良い。 ■ Python/Tkinter の手順 Python/Tkinter で GUI アプリケーションを作成する手順を、下記に示す。 1.トップレベルのウィンドウ(メインウィンドウ)を作成する。 2.ウィジェットを設定してウィンドウに配置する。 3.イベントループを開始してユーザーからの要求(イベント)を処理する。

P

PY

YT

TH

HO

ON

N

入門

初期化 イベントの取得 イベントの種類に応じた処理 イベントが発生 イベントが非発生 イベントループ

(2)

上記以外に、必要に応じて発生したイベントの種類に応じた処理を記述したイベントハンドラ(コール バック関数)を作成する。

下記に、ウィンドウを作成し、ウィジェット(此処ではボタン)をウィンドウに配置するコードを示す。

PYTHON3

from Tkinter import * # Tkinter モジュールのインポート

root = Tk() # メインウィンドウの作成

button = Button(root, text = 'Python/Tkinter') # ウィジェット(ボタン)の生成

button.pack() # ウィジェット(ボタン)の配置 root.mainloop() # イベントループの開始 ■ ウィジェット Tk では GUI 用の部品の事をウィジェット(widget)と呼び、多くのウィジェットが用意されて居て、 其れをウィンドウに配置する事で簡単に GUI アプリケーションを作成する事が出来る。亦、Tkinter の場合、ウィジェット名と同じクラスが用意されて居る。 ウィジェットは、下記の書式で生成する。 PYTHON3

widget オブジェクト = widget クラス(parent, option = value, .... ) widget クラスには、生成するウィジェットのクラス名を指定する。 parent には、メインウィンドウや他のウィジェット等の配置先と成るオブジェクトを指定する。 option には、必要に応じてウィジェットの属性(オプション)を指定する。 戻り値は、生成されたウィジェットのオブジェクトで有る。猶、メインウィンドウもウィジェットの一 種だが、此れは Tk コンストラクタで生成する。 下記に、Tkinter に用意されて居る主なウィジェットを示す。 ウィジェット名 クラス名 概要 フレーム Frame ウィジェットを格納する枠組みを作る ラベル Label 文字列やイメージを表示する メッセージ Message 複数行の文字列を表示する ボタン Button ボタンを作る ラジオボタン Radiobutton ラジオボタンを作る チェックボタン Checkbutton チェックボタンを作る リストボックス Listbox リストボックスを作る スクロールバー Scrollbar スクロールバーを作る スケール Scale スケールを作る エントリー Entry 1 行の文字列の入力と編集 メニュー Menu メニューを作る メニューボタン Menubutton メニューボタンを作る ビットマップ Bitmap ビットマップを作る キャンバス Canvas キャンバスを作る テキスト Text テキストの入力と編集 ラベルフレーム LabelFrame ラベル付きフレーム スピンボックス Spinbox スピンボックスを作る ペインウィンドウ PanedWindow ペインウィンドウを作る

(3)

■ オプション 総てのウィジェットには、外見や動作に影響する一連のオプションが有る。下記に、殆どのウィジェッ トで共通するオプションを示す。 オプション 説明 foreground (fg) 文字や線を描くのに使用する色を指定 background (bg) 背景色の指定 text ウィジェット内に表示されるテキスト textvariable テキストを格納するオブジェクトを指定 image ウィジェット内に表示されるイメージ bitmap ウィジェット内に表示されるビットマップ borderwidth (bd) ウィジェットの枠の幅 relief ウィジェットの枠のスタイル height ウィジェットの高さ width ウィジェットの幅 anchor ウィジェットや表示されるデータの位置を指定 オプションの設定には、下記の 3 通りの方法が有る。 PYTHON3 # オブジェクト生成時、キーワード引数を使用する btn = Button(self, fg="white", bg="blue")

PYTHON3 # オブジェクト生成後、オプション名を辞書インデックスの様に扱う btn["fg"] = "white" btn["bg"] = "blue" PYTHON3 # オブジェクト生成後に、config メソッドを使用して複数の属性を更新する btn.config(fg="white", bg="blue") 亦、オプションの値を参照するには cget メソッドを使用する。 PYTHON3 btn.cget("fg") オプションのデータ型を、下記に示す。 データ型 説明 anchor 指定出来る値はコンパスの方位:"n"、"ne"、"e"、"se"、"s"、"sw"、"w"、"nw"、"center" bitmap 8 個の組み込み名前付きビットマップ:'error'、'gray25'、'gray50'、'hourglass'、'info'、 'questhead'、'question'、'warning' ビットマップファイルは "@/usr/contrib/bitmap/gumby.bit" の様な @ を先頭に付 けたファイルへのフルパスを指定

Boolean 整数 0 又は 1、或いは、文字列 "yes" 又は "no" callback 此れは引数を取らない(Python 関数なら孰れも可)

def print_it(): print("hi there")

(4)

color カラー名か、RGB 値を表す文字列として指定 RGB 値を表す文字列は、下記の通り(R、G、B は 16 進数) 4 ビット:"#RGB" 8 ビット:"#RRGGBB" 12 ビット:"#RRRGGGBBB" 16 ビット:"#RRRRGGGGBBBB" cursor cursorfont.h の標準カーソル名を、接頭語 C_無しで使用 hand カーソル(XC_hand2)なら"hand2" 任意のビットマップとマスクファイルの指定も可 distance スクリーン上の距離をピクセルか絶対距離で指定 ピクセルは数値として、絶対距離は文字列として指定 絶対距離を表す文字列は、数字の後ろに単位を表す終了文字を指定 センチメートル:c、インチ:i、ミリメートル:m、ポイント:p font タプルで指定( ('MS ゴシック', 12) ) フォントサイズの単位は、正の数はポイント、負の数はピクセル geometry 幅 x 高さ形式の文字列で指定 justify 文字列の "left"、"center"、"right"、"fill" で指定

region 空白区切りの 4 個の要素を持つ文字列("2 3 4 5"、"3i 2i 4.5i 2i"、"3c 2c 4c 10.43c") relief ボーダのスタイルを "raised"、"sunken"、"flat"、"groove"、"ridge" で指定 wrap 文字列の "none"、"char"、"word" で指定 ■ サイズの指定 単に整数値を記述した場合はピクセルと看做されるが、数値の後ろに下記の文字を記述する事で単位を 変更する事が出来る。 単位を表す終了文字 単位 c センチメートル i インチ m ミリメートル p ポイント(約 1/72 インチ) ■ 色の指定 色の指定は名前か数値で行う。名前は white、black、red、green、blue、cyan、yellow、magenta(以 上は総ての環境に於いて使用可能な色名称)の様に指定する。色の名前は大文字小文字の区別をしない ので、red と RED は同じ色を表す。亦、数値の場合は、赤、緑、青の三原色を 16 進数で指定する。指 定方法には、下記の 4 通りの形式が有る。 書式 説明 #rgb 4bit(4096 色) #rrggbb 8bit(16777216 色) #rrrgggbbb 12bit(68719476736 色) #rrrrggggbbbb 32bit(281462092005375 色) 猶、使用可能な色名称 752 種類の色構成は、下記のサイトで確認する事が出来る。 http://www.tcl.tk/man/tcl8.4/TkCmd/colors.htm 亦、各色の確認は、下記のコードを実行する事で確認する事が出来る。

(5)

PYTHON3

import tkinter.tix as tk

COLORS =['snow', 'ghost white', 'white smoke', 'gainsboro', 'floral white', 'old lace', 'linen', 'antique white', 'papaya whip', 'blanched almond', 'bisque', 'peach puff', 'navajo white', 'lemon chiffon', 'mint cream', 'azure', 'alice blue', 'lavender', 'lavender blush', 'misty rose', 'dark slate gray', 'dim gray', 'slate gray',

'light slate gray', 'gray', 'light grey', 'midnight blue', 'navy', 'cornflower blue', 'dark slate blue', 'slate blue', 'medium slate blue', 'light slate blue', 'medium blue', 'royal blue', 'blue',

'dodger blue', 'deep sky blue', 'sky blue', 'light sky blue', 'steel blue', 'light steel blue',

'light blue', 'powder blue', 'pale turquoise', 'dark turquoise', 'medium turquoise', 'turquoise', 'cyan', 'light cyan', 'cadet blue', 'medium aquamarine', 'aquamarine', 'dark green',

'dark olive green', 'dark sea green', 'sea green', 'medium sea green', 'light sea green',

'pale green', 'spring green', 'lawn green', 'medium spring green', 'green yellow', 'lime green', 'yellow green', 'forest green', 'olive drab', 'dark khaki', 'khaki', 'pale goldenrod',

'light goldenrod yellow', 'light yellow', 'yellow', 'gold', 'light goldenrod', 'goldenrod', 'dark goldenrod', 'rosy brown', 'indian red', 'saddle brown', 'sandy brown',

'dark salmon', 'salmon', 'light salmon', 'orange', 'dark orange',

'coral', 'light coral', 'tomato', 'orange red', 'red', 'hot pink', 'deep pink', 'pink', 'light pink', 'pale violet red', 'maroon', 'medium violet red', 'violet red',

'medium orchid', 'dark orchid', 'dark violet', 'blue violet', 'purple', 'medium purple', 'thistle', 'snow2', 'snow3',

'snow4', 'seashell2', 'seashell3', 'seashell4', 'AntiqueWhite1', 'AntiqueWhite2', 'AntiqueWhite3', 'AntiqueWhite4', 'bisque2', 'bisque3', 'bisque4', 'PeachPuff2', 'PeachPuff3', 'PeachPuff4', 'NavajoWhite2', 'NavajoWhite3', 'NavajoWhite4', 'LemonChiffon2', 'LemonChiffon3', 'LemonChiffon4', 'cornsilk2', 'cornsilk3', 'cornsilk4', 'ivory2', 'ivory3', 'ivory4', 'honeydew2', 'honeydew3', 'honeydew4',

'LavenderBlush2', 'LavenderBlush3', 'LavenderBlush4', 'MistyRose2', 'MistyRose3', 'MistyRose4', 'azure2', 'azure3', 'azure4', 'SlateBlue1', 'SlateBlue2', 'SlateBlue3', 'SlateBlue4', 'RoyalBlue1', 'RoyalBlue2', 'RoyalBlue3', 'RoyalBlue4', 'blue2', 'blue4', 'DodgerBlue2', 'DodgerBlue3', 'DodgerBlue4', 'SteelBlue1', 'SteelBlue2',

'SteelBlue3', 'SteelBlue4', 'DeepSkyBlue2', 'DeepSkyBlue3', 'DeepSkyBlue4', 'SkyBlue1', 'SkyBlue2', 'SkyBlue3', 'SkyBlue4', 'LightSkyBlue1', 'LightSkyBlue2', 'LightSkyBlue3', 'LightSkyBlue4', 'SlateGray1', 'SlateGray2', 'SlateGray3', 'SlateGray4', 'LightSteelBlue1', 'LightSteelBlue2', 'LightSteelBlue3', 'LightSteelBlue4', 'LightBlue1', 'LightBlue2', 'LightBlue3', 'LightBlue4', 'LightCyan2', 'LightCyan3', 'LightCyan4', 'PaleTurquoise1', 'PaleTurquoise2', 'PaleTurquoise3', 'PaleTurquoise4', 'CadetBlue1', 'CadetBlue2', 'CadetBlue3', 'CadetBlue4', 'turquoise1', 'turquoise2', 'turquoise3', 'turquoise4', 'cyan2', 'cyan3', 'cyan4', 'DarkSlateGray1', 'DarkSlateGray2', 'DarkSlateGray3', 'DarkSlateGray4', 'aquamarine2', 'aquamarine4', 'DarkSeaGreen1', 'DarkSeaGreen2', 'DarkSeaGreen3', 'DarkSeaGreen4', 'SeaGreen1', 'SeaGreen2', 'SeaGreen3', 'PaleGreen1', 'PaleGreen2', 'PaleGreen3', 'PaleGreen4', 'SpringGreen2', 'SpringGreen3', 'SpringGreen4',

'green2', 'green3', 'green4', 'chartreuse2', 'chartreuse3', 'chartreuse4',

'OliveDrab1', 'OliveDrab2', 'OliveDrab4', 'DarkOliveGreen1', 'DarkOliveGreen2', 'DarkOliveGreen3', 'DarkOliveGreen4', 'khaki1', 'khaki2', 'khaki3', 'khaki4', 'LightGoldenrod1', 'LightGoldenrod2', 'LightGoldenrod3', 'LightGoldenrod4', 'LightYellow2', 'LightYellow3', 'LightYellow4', 'yellow2', 'yellow3', 'yellow4', 'gold2', 'gold3', 'gold4', 'goldenrod1', 'goldenrod2', 'goldenrod3', 'goldenrod4', 'DarkGoldenrod1', 'DarkGoldenrod2', 'DarkGoldenrod3', 'DarkGoldenrod4',

'RosyBrown1', 'RosyBrown2', 'RosyBrown3', 'RosyBrown4', 'IndianRed1', 'IndianRed2', 'IndianRed3', 'IndianRed4', 'sienna1', 'sienna2', 'sienna3', 'sienna4', 'burlywood1', 'burlywood2', 'burlywood3', 'burlywood4', 'wheat1', 'wheat2', 'wheat3', 'wheat4', 'tan1', 'tan2', 'tan4', 'chocolate1', 'chocolate2', 'chocolate3', 'firebrick1', 'firebrick2',

(6)

'salmon3', 'salmon4', 'LightSalmon2', 'LightSalmon3', 'LightSalmon4', 'orange2', 'orange3', 'orange4', 'DarkOrange1', 'DarkOrange2', 'DarkOrange3', 'DarkOrange4', 'coral1', 'coral2', 'coral3', 'coral4', 'tomato2', 'tomato3', 'tomato4', 'OrangeRed2',

'OrangeRed3', 'OrangeRed4', 'red2', 'red3', 'red4', 'DeepPink2', 'DeepPink3', 'DeepPink4', 'HotPink1', 'HotPink2', 'HotPink3', 'HotPink4', 'pink1', 'pink2', 'pink3', 'pink4',

'LightPink1', 'LightPink2', 'LightPink3', 'LightPink4', 'PaleVioletRed1', 'PaleVioletRed2', 'PaleVioletRed3', 'PaleVioletRed4', 'maroon1', 'maroon2', 'maroon3', 'maroon4', 'VioletRed1', 'VioletRed2', 'VioletRed3', 'VioletRed4',

'magenta2', 'magenta3', 'magenta4', 'orchid1', 'orchid2', 'orchid3', 'orchid4', 'plum1', 'plum2', 'plum3', 'plum4', 'MediumOrchid1', 'MediumOrchid2', 'MediumOrchid3', 'MediumOrchid4', 'DarkOrchid1', 'DarkOrchid2', 'DarkOrchid3', 'DarkOrchid4', 'purple1', 'purple2', 'purple3', 'purple4', 'MediumPurple1', 'MediumPurple2', 'MediumPurple3', 'MediumPurple4', 'thistle1', 'thistle2', 'thistle3', 'thistle4', 'gray1', 'gray2', 'gray3', 'gray4', 'gray5', 'gray6', 'gray7', 'gray8', 'gray9', 'gray10', 'gray11', 'gray12', 'gray13', 'gray14', 'gray15', 'gray16', 'gray17', 'gray18', 'gray19', 'gray20', 'gray21', 'gray22', 'gray23', 'gray24', 'gray25', 'gray26', 'gray27', 'gray28', 'gray29', 'gray30', 'gray31', 'gray32', 'gray33', 'gray34', 'gray35', 'gray36', 'gray37', 'gray38', 'gray39', 'gray40', 'gray42', 'gray43', 'gray44', 'gray45', 'gray46', 'gray47', 'gray48', 'gray49', 'gray50', 'gray51', 'gray52', 'gray53', 'gray54', 'gray55', 'gray56', 'gray57', 'gray58', 'gray59', 'gray60', 'gray61', 'gray62', 'gray63', 'gray64', 'gray65', 'gray66', 'gray67', 'gray68', 'gray69', 'gray70', 'gray71', 'gray72', 'gray73', 'gray74', 'gray75', 'gray76', 'gray77', 'gray78', 'gray79', 'gray80', 'gray81', 'gray82', 'gray83', 'gray84', 'gray85', 'gray86', 'gray87', 'gray88', 'gray89', 'gray90', 'gray91', 'gray92', 'gray93', 'gray94', 'gray95', 'gray97', 'gray98', 'gray99']

def drawframes(_sw): for c in COLORS:

e= tk.Label(sw.window, text = c, background = c) e.pack(fill = tk.X)

r= tk.Tk()

r.title("Named colour chart")

sw= tk.ScrolledWindow(r, scrollbar=tk.BOTH) sw.pack(fill=tk.BOTH, expand=1) drawframes(sw) r.mainloop() 猶、残念乍、tkinter に背景丈を透過する方法は無い様で有る ■ フォントの指定 フォントはタプルを使用して、下記の様に指定する。 PYTHON3

(family, size, style1[, style2…])

上記で、family はフォント名を文字列で指定し、size はフォントの大きさを数値(正の数はポイント単 位、負の数はピクセル単位)で指定し、style1、style2…(style2 以降は省略可能)はフォントの文字 修飾を下記の中から選ぶ。

normal(通常)、bold(太字)、roman(通常)、italic(斜体) underline(下線)、overstrike(取り消し線)

(7)

下記に、此の書式に依るフォントの設定例を示す。

PYTHON3

fnt1 = ('MS ゴシック', 12)

fnt2 = ('MS ゴシック', 12, 'italic', 'overstrike')

fnt3 = ('MS ゴシック', -12, 'italic', 'bold', 'overstrike')

亦、フォントの文字修飾を、下記の様に、1 個の文字列として指定する事も出来る。

PYTHON3

fnt1 = ('MS ゴシック', 12, 'italic overstrike') fnt2 = ('MS ゴシック', 12, 'bold italic overstrike')

更に、tkinter.font モジュールをインポートすれば、下記の様に、名前付き引数で各項目を指定してフ ォントオブジェクトを作成する事も出来る。

PYTHON3

import tkinter.font

fnt1 = tkinter.font.Font(family='Helvetica', size=36, weight='bold') 上記の書式に於ける名付き引数は、下記の通りで有る。

引数 説明

family フォントファミリーを文字列で指定する。

size サイズを正の整数(ポイント)か負の整数(ピクセル)で指定する。

weight 太字なら 'bold'、通常なら 'normal' を指定する。 slant 斜体なら 'italic'、通常なら 'roman' を指定する。 underline 下線なら 1、通常なら 0 を指定する。 overstrike 取り消し線なら 1、通常なら 0 を指定する。 猶、使用可能なフォント名は、下記のコードを実行する事で確認する事が出来る。 PYTHON3 import tkinter as tk import tkinter.font root = Tk() print(tkinter.font.families()) 総てのウィジェットで使用する共通のフォントを設定する場合は、TK に既定オプションを設定する。 PYTHON3 import tkinter as tk # デフォルト値の設定 root = Tk() root.option_add('*font', 'FixedSys 14')

(8)

■ 座標系 左上が原点と成り、X 座標は右方向に、Y 座標は下方向に増大する。単に整数値を記述した場合はピク セルと看做されるが、数値の後ろに下記の文字を記述する事で単位を変更する事が出来る。 ■ アンカーの設定 Tkinter モジュールには、アイテムのコンテナに対する相対位置を制御する為のアンカー定数が定義さ れて居る。例えば、フレームがウィジェットより大きい場合、ウィジットをフレーム内の何処に配置す るかを決定する。 定数は、下図の様に、コンパスの方位(n、ne、e、se、s、sw、w、nw)と center から成る。 ■ レリーフの設定 Tkinter モジュールには、ウィジェットの外枠に 3D 効果を与える為のレリーフスタイル定数が定義さ れて居る。下記に、総てのレリーフスタイルを示す。 ■ ビットマップの設定 ウィジェットの bitmap オプションには、下図のビットマップが用意されて居る。左から順に、error、 gray75、gray50、gray25、gray12、hourglass、info、questhead、question、warning で有る。 N North 北 上 NE NorthEast 北東 右上 E East 東 右 SE SouthEast 南東 右下 S South 南 下 SW SouthWest 南西 左下 W West 西 左 NW NorthWest 北西 左上

(9)

■ カーソルの設定

(10)
(11)

■ イメージの設定

画像を表示するには、下記の 3 種類の方法が有る。

クラス 説明

BitmapImage xbm フォーマットの 2 色ビットマップ

PhotoImage gif、png、pgm、ppm フォーマットのフルカラー画像 ImageTk Python Imaging Library(PIL)

※ XBM とは、カーソルやアイコン用の画像を定義する為に使用されるビットマップで C 言語のソース ファイルと成るテキストファイルで有る。

※ PIL の詳細はhttp://infohost.nmt.edu/tcc/help/pubs/pil/ を参照され度い。 BitmapImage のコンストラクタの書式は、下記の通りで有る。

PYTHON3

BitmapImage( file=f [ , background=b ] [ , foreground=c ] )

下記に、コードに埋め込んだ XBM データから BitmapImage オブジェクトを生成して、ラベルに表示 するコードを示す。 PYTHON3 import tkinter.tix as tk BITMAP = """ #define im_width 32 #define im_height 32 static char im_bits[] = {

0xaf,0x6d,0xeb,0xd6,0x55,0xdb,0xb6,0x2f, 0xaf,0xaa,0x6a,0x6d,0x55,0x7b,0xd7,0x1b, 0xad,0xd6,0xb5,0xae,0xad,0x55,0x6f,0x05, 0xad,0xba,0xab,0xd6,0xaa,0xd5,0x5f,0x93, 0xad,0x76,0x7d,0x67,0x5a,0xd5,0xd7,0xa3, 0xad,0xbd,0xfe,0xea,0x5a,0xab,0x69,0xb3, 0xad,0x55,0xde,0xd8,0x2e,0x2b,0xb5,0x6a, 0x69,0x4b,0x3f,0xb4,0x9e,0x92,0xb5,0xed, 0xd5,0xca,0x9c,0xb4,0x5a,0xa1,0x2a,0x6d, 0xad,0x6c,0x5f,0xda,0x2c,0x91,0xbb,0xf6, 0xad,0xaa,0x96,0xaa,0x5a,0xca,0x9d,0xfe, 0x2c,0xa5,0x2a,0xd3,0x9a,0x8a,0x4f,0xfd, 0x2c,0x25,0x4a,0x6b,0x4d,0x45,0x9f,0xba, 0x1a,0xaa,0x7a,0xb5,0xaa,0x44,0x6b,0x5b, 0x1a,0x55,0xfd,0x5e,0x4e,0xa2,0x6b,0x59, 0x9a,0xa4,0xde,0x4a,0x4a,0xd2,0xf5,0xaa }; """ r= tk.Tk() r.title("BitmapImage test") bitmap = tk.BitmapImage(data=BITMAP) label = tk.Label(image=bitmap) label.pack() r.mainloop()

(12)

亦、下記に、XBM データをファイルから読み込み BitmapImage オブジェクトを生成して、ラベルに 表示するコードを示す。 PYTHON3 import tkinter.tix as tk r= tk.Tk() r.title("BitmapImage test") bitmap = tk.BitmapImage(file="xsquid.xbm")

#bitmap = tk.BitmapImage(data=BITMAP,foreground="black", background="yellow") label = tk.Label(image=bitmap) label.pack() #bitmap.config(foreground="blue") #bitmap["foreground"] = "red" r.mainloop() 下記に、画像データをファイルから読み込み PhotoImage オブジェクトを生成して、ラベルに表示する コードを示す。 PYTHON3 import tkinter.tix as tk r= tk.Tk() r.title("PhotoImage test") photo = tk.PhotoImage(file="mezon.gif") label = tk.Label(image=photo) label.pack() r.mainloop() ■ ジオメトリー文字列 ジオメトリー文字列は、デスクトップ上のトップレベルのウィンドウのサイズと位置を記述るのに使用 し、書式は下記の通りで有る。 PYTHON3 'wxh±x±y' w はウィンドウの幅、h はウィンドウの高さをピクセル単位で指定し、x で区切る。 x はウィンドウの左端迄のピクセル単位の距離で、+の場合はコンテナの左端から、-の場合はコンテナ の右端からと成る。 y はウィンドウの上端迄のピクセル単位の距離で、+の場合はコンテナの上端から、-の場合はコンテナ の下端からと成る。

(13)

■ Python GUI ドキュメント

日本語:https://docs.python.jp/3/library/tkinter.html

参照

関連したドキュメント

用 語 本要綱において用いる用語の意味は、次のとおりとする。 (1)レーザー(LASER:Light Amplification by Stimulated Emission of Radiation)

3 当社は、当社に登録された会員 ID 及びパスワードとの同一性を確認した場合、会員に

本装置は OS のブート方法として、Secure Boot をサポートしています。 Secure Boot とは、UEFI Boot

Bluetooth® Low Energy プロトコルスタック GUI ツールは、Microsoft Visual Studio 2012 でビルドされた C++アプリケーションです。GUI

日本語で書かれた解説がほとんどないので , 専門用 語の訳出を独自に試みた ( たとえば variety を「多様クラス」と訳したり , subdirect

(7)

荒天の際に係留する場合は、1つのビットに 2 本(可能であれば 3

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)