
๐ณ place() : ์ ๋ ์์น๋ก ๋ฐฐ์น๋ฅผ ํ ์ ์๋ ๋ ์ด์์
import tkinter
import tkinter.ttk as ttk
import tkinter.font
from tkinter import *
root = Tk()
root.title('MyWindow layout grid')
root.geometry('400x400')
root.config(bg="white")
## resizable์ 0,1 ๋๋ True, False ์ฌ์ฉ
root.resizable(1, 1)
font = tkinter.font.Font(family="๋ง์ ๊ณ ๋", size=13)
## place() ์ ๋ ์์น๋ก ๋ฐฐ์น๋ฅผ ํ ์ ์๋ ๋ ์ด์์
labelId = tkinter.Label(root, text="ID", font=font, background="white")
entryId = tkinter.Entry(root, relief="solid", borderwidth="1", font=font)
labelPass = tkinter.Label(root, text="Pass", font=font, background="white")
entryPass = tkinter.Entry(root, relief="solid", borderwidth="1", font=font, show="*")
labelId.place(x=10, y=8)
entryId.place(x=50, y=10)
labelPass.place(x=10, y=38)
entryPass.place(x=50, y=40)
date = [str(i)+"์ผ" for i in range(1,32)]
combo = ttk.Combobox(root, height=5, values=date, state="readonly")
combo.place(x=10, y=80)
root.mainloop()
๐ ์์น ์ค์ ํ ๋ ์ ์ฉํ ํ์ด์ฌ ์ฝ๋
import tkinter as tk
class CoordinateTool:
def __init__(self, root):
self.root = root
# ๋ผ๋ฒจ ์ด๊ธฐํ
self.label = tk.Label(root, text="๋ง์ฐ์ค๋ก ํด๋ฆญํ์ธ์!")
self.label.pack(pady=10)
# ๋ง์ฐ์ค ํด๋ฆญ ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ
self.root.bind("<Button-1>", self.on_click)
# ์ฐฝ ํฌ๊ธฐ ์กฐ์ ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ
self.root.bind("<Configure>", self.on_resize)
def on_click(self, event):
# ๋ง์ฐ์ค ํด๋ฆญ ์ ํธ์ถ๋๋ ํจ์
click_position_str = f"ํด๋ฆญ ์์น: {event.x}, {event.y}"
self.label.config(text=click_position_str)
def on_resize(self, event):
# ์ฐฝ ํฌ๊ธฐ ์กฐ์ ์ ํธ์ถ๋๋ ํจ์
window_size_str = f"์ฐฝ ํฌ๊ธฐ: {root.winfo_width()} x {root.winfo_height()}"
self.root.title(window_size_str)
if __name__ == "__main__":
root = tk.Tk()
app = CoordinateTool(root)
root.geometry("300x200") # ์ด๊ธฐ ์ฐฝ ํฌ๊ธฐ
root.mainloop()
