ttk.Entry 위젯이 상속하는 클래스는 아래와 같습니다.
위의 이미지에서 확인할 수 있듯 ttk.Entry는 Misc 클래스를 상속하고 있으며, 이로 인해 Entry와 같이 사용자의 입력을 받는데 사용되는 위젯들엔 focus() 메서드를 사용할 수 있습니다.
예로 애플리케이션 실행 후 2번 Entry에 원하는 문자를 입력하려면 마우스나 Tab으로 2번 Entry를 선택해야 합니다.
하지만 2번 Entry에 대하여 focus() 메서드를 호출해 주면, 애플리케이션 실행 시 자동으로 2번 Entry가 선택됩니다. 아래 이미지에서 2번 Entry에 커서가 위치해 있고 가장자리가 파란색으로 보이네요.
import tkinter as tk
import tkinter.ttk as ttk
class MainWin(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.win_settings()
self.tkinter_ttk_basics()
def win_settings(self):
self.title('tkinter / ttk')
self.geometry('480x320+200+200')
self.minsize(200, 200)
# -------------------------------------------------------------------------
def tkinter_ttk_basics(self):
self.entry1_var = tk.StringVar(value='tk.Entry (1)')
self.entry1 = tk.Entry(self, textvariable=self.entry1_var)
self.entry1.grid(padx=10, pady=10)
self.entry2_var = tk.StringVar()
self.entry2_var.set('ttk.Entry (2)')
self.entry2 = ttk.Entry(self, textvariable=self.entry2_var)
self.entry2.grid(padx=10)
# focus() method
self.entry2.focus()
# -------------------------------------------------------------------------
if __name__ == '__main__':
mainWin = MainWin()
mainWin.mainloop()
'코딩 > 파이썬 tkinter' 카테고리의 다른 글
[Tkinter] 16장. Radiobutton (0) | 2020.11.15 |
---|---|
[Tkinter] 15장. Checkbutton (0) | 2020.11.15 |
[Tkinter] 13장. Entry (0) | 2020.11.12 |
[Tkinter] 12장. Button (0) | 2020.11.11 |
[Tkinter] 11장. Label (ttk) 2단계 (0) | 2020.11.08 |