본문 바로가기

코딩/파이썬 tkinter

[Tkinter] 20장. 위젯 속성(옵션) 설정 방법

위젯의 각 속성값은 위젯을 생성할 때 뿐만 아니라 생성한 이후에도 설정 및 변경하는 것이 가능합니다.

 

 

위 이미지와 같이 화면에 표시되는 세 개의 Label 위젯은 아래 코드에 대한 실행 결과입니다.

 

# python  3.8.6
# tkinter 8.6

import tkinter as tk
import tkinter.ttk as ttk


class MainWin(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.setting_win()
        self.setting_menu()
        self.setting_widget()

    def setting_win(self):
        self.title('things-studio.tistory.com')
        self.geometry('480x320+200+200')
        self.minsize(200, 200)

    def setting_menu(self):
        pass

    def setting_toolbar(self):
        pass

    # start -------------------------------------------------------------------
    def setting_widget(self):
        tk.Label(self, text='Setting options 1', fg='blue', bg='yellow').grid(padx=20, pady=10)

        label2 = tk.Label(self)
        label2['text'] = 'Setting options 2'
        label2['fg'] = 'red'
        label2['bg'] = 'yellow'
        label2.grid(padx=20, pady=10)

        label3 = tk.Label(self, text='Label 3')
        label3.config(fg='blue', bg='yellow')
        label3.configure(text='Setting options 3')
        label3.grid(padx=20, pady=10)
    # end ---------------------------------------------------------------------


if __name__ == '__main__':
    MainWin().mainloop()

 

임의 위젯에 대하여 설정 가능한 속성은 keys 매서드로, 속성 및 설정값은 configure 매서드로 확인할 수 있습니다.

 

        # examples
        for k in label2.keys():
            print(k)

        for k, v in label2.configure().items():
            print(k, v)

 

예로 configure 매서드로 확인한 label2의 foreground 설정값은 아래 다섯 번째 튜플 값인 red입니다.

 

foreground ('foreground', 'foreground', 'Foreground', <string object: 'SystemButtonText'>, 'red')