第 3 章 フレーム

◀ 3.21 クラス名とイベント処理   【目  次】  第 4 章 ラベルフレーム ▶

999999

 更新日:


 このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。

3.22 デフォルトカラーの変更(tk_setPalette)

フレームの背景色やハイライトの色はオプションで指定しない場合、システムが設定したデフォルトの色が適用されます。このデフォルトの色は Misc クラスの「tk_setPalette」メソッドで変更することができます。下記の書式を用います。Misc クラスメソッドを参照して下さい。

object.tk_setPalette(*args, **kw)

背景色のみを設定する場合、引数「*args」に設定する色を指定します。他のオプションの色とともに設定する場合、オプションキーワードで引数「**kw」に指定します。


次のプログラムは、フレームのオプションの「background」、「highlightcolor」、「highlightbackground」のデフォルト値をそれぞれ「red」、「yellow」、「green」に変更して設定しています。

1
import tkinter as tk
2
root = tk.Tk()
3
root.geometry('300x200+100+100')
4
dcnf = {'width':100, 'height':160,
5
        'bd':10, 'relief':'ridge',
6
        'highlightthickness':10,
7
        'takefocus':True}
8
frame = tk.Frame(root, cnf=dcnf)
9
frame.place(x=30, y=20)
10
frame.tk_setPalette(background='red',
11
        highlightColor='yellow',
12
        highlightBackground='green')
13
frame2 = tk.Frame(root, cnf=dcnf)
14
frame2.place(x=170, y=20)
15
root.mainloop()

このプログラムを実行すると、下図のように、メインウィンドウを含めて背景が赤色の 2 つのフレームを持つウィンドウが表示されます。「Tab」キーでフレームへのフォーカスが移動し、フォーカスを持つフレームはハイライト枠の色が黄色で表示されます。

A003_Frame_03-22