# GUI (Graphic User Interface)
- ์๊ฐ์ ์์๋ค๋ก ํ๋ก๊ทธ๋๋ฐ ๊ตฌ์ฑ
- ํ๋ก๊ทธ๋จ์ ๋ค์ํ ๊ธฐ๋ฅ์ ๊ทธ๋ํฝ์ผ๋ก ๋ํ๋ธ ๊ฒ
# tkinter ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ํ์ด์ฌ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ํ์ด์ฌ ์ค์น ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ด์ฅ
- ๊ฐ๋จํ๊ฒ GUI ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฅ
- import ํด์ ์ฌ์ฉ ๊ฐ๋ฅ
- from tkinter import *
- import tkinter *alisa๋ฅผ ์ง์ ํด์ ํ์ฉํ ์๋ ์์*
- import tkinter as tt
https://docs.python.org/ko/3/library/ ํ์ด์ฌ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐธ๊ณ
# ๊ฐ๋จํ๊ฒ ์ฐฝ(window) ๋์๋ณด๊ธฐ
- windows = Tk()
- windows.title()
- windows.geometry()
- windows.resizable()
# ์์ ฏ(Widget)
- ํ์ด์ฌ์ GUI ์์์ธ ๊ธฐ๋ณธ ์์ ฏ ์ ๊ณต
- ๊ฐ ์์ ฏ์ ๊ฐ์ฒด ์์ฑ ํ ์์ ์ ์ง์ ํด ์ฌ์ฉ
- ๋ฃจํธ์๋์ฐ์ ๋ถ์ฐฉ๋ผ ๋ฐฐ์นํด์ผ ์ฌ์ฉ ๊ฐ๋ฅ
https://www.tutorialspoint.com/python/python_gui_programming.htm ์ธ๋ถ ๋ด์ฉ ์ฐธ๊ณ
# ์์ ฏ(Widget) ใ ก ๋ผ๋ฒจ(๋๋ ๋ ์ด๋ธ)
- Label() Object
- label = Label(๋ถ๋ชจ์๋์ฐ, ์ต์ )
- ๋จ์ ๋ฌธ์์ด, ์ด๋ฏธ์ง ํ์ํ ๋ ์ฌ์ฉ
- ํ ์คํธ์ ์ด๋ฏธ์ง ํํํ ์ ์๋ ์์ ฏ
# ์์ ฏ(Widget) ใ ก Label/PhotoImage
- png, gif ๋ง ๊ฐ๋ฅ
# ์์ ฏ(Widget) ใ ก ๋ฒํผ
- button = Button (๋ถ๋ชจ์๋์ฐ, text = "๋ฌธ์์ด", ์ต์ )
# ์์ ฏ(Widget) ใ ก ์ํธ๋ฆฌ
- ์ ๋ ฅ๋ฐ๋ ์์ ฏ, ๋จ์ผ ์ ๋ ฅ์ฐฝ(Single Line Edit)
- Entry ํด๋์ค ์ฌ์ฉ
# ์์ ฏ(Widget) ใ ก ์ฝค๋ณด๋ฐ์ค
- ttk ๋ชจ๋์ import ํด์ผ ๋จ. from tkinter.ttk import *
- ttk ๋ชจ๋์ Combobox ํด๋์ค ์ฌ์ฉ
# ์์ ฏ(Widget) ใ ก ๋ฉ์์ง๋ฐ์ค
- ์๋ฆผ์ฐฝ
- ๋ฉ์์ง ์ฌ๋ฌ ์ข ๋ฅ๊ฐ ์กด์ฌํจ (ex. ์ ๋ณดํ์ธ, ๊ฒฝ๊ณ ๋ฑ...)
- tkinter์ massagebox ๋ชจ๋ ์ฌ์ฉ
showinfo() |
showwarning() |
showerror() |
askquestion() |
askokcancel() |
askyesno() |
askretrycancle() |
# ์์ ฏ(Widget) ๋ฐฐ์น - place()
- ์๋, ์ ๋์์น ํ์ฉ
- ์ ๋์์น : ์์ ฏ์ด ํ์๋ ์์น ์ขํ๋ฅผ ์ซ์๋ก ํ๊ธฐ, place()
- ์๋์์น : ์์ ฏ ๊ฐ ์๋์์น๋ฅผ ํ๊ธฐ, pack(), grid()
- - pack() : window ์ค์์์ ์๋์ ์์๋ก ๋ฐฐ์น
- - grid() : ๋ณ๋์ ๊ฒฉ์๋ฅผ ๋ง๋ค์ด ๋ฐฐ์น
'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Django] 7์ฃผ์ฐจ. ์ฅ๊ณ ์คํฐ๋ (0) | 2024.06.06 |
---|---|
[์ํํธ์จ์ด์์ฐฝ์์ ์ฌ๊ณ ] 12์ฃผ์ฐจ. ๋ฐ์ดํฐ ์๊ฐํ ๊ธฐ์ด (0) | 2024.05.29 |
[์ํํธ์จ์ด์์ฐฝ์์ ์ฌ๊ณ ] 10์ฃผ์ฐจ. ํด๋์ค์ ๊ฐ์ฒด (0) | 2024.05.08 |
[์ํํธ์จ์ด์์ฐฝ์์ ์ฌ๊ณ ] 7์ฃผ์ฐจ. ๋ณตํฉ ์๋ฃํ ์์ฉ(dictionary, sort) (0) | 2024.04.17 |
[์ํํธ์จ์ด์์ฐฝ์์ ์ฌ๊ณ ] 5์ฃผ์ฐจ. ๋ฐ๋ณต๋ฌธ (0) | 2024.04.03 |