반응형
반응형

https://076923.github.io/posts/Python-tkinter-1/

 

Python tkinter 강좌 : 제 1강 - GUI 생성

tkinter

076923.github.io

""" Python tkinter 강좌  : https://076923.github.io/posts/Python-tkinter-2/

    Label, Button, Entry, ListBox, CheckButton 
"""
import tkinter

window=tkinter.Tk()
window.title("KIM HONG WAN")
window.geometry("640x400+100+100")
window.resizable(False, True) # 좌우, 상하

label0=tkinter.Label(window, text="파이썬", width=10, height=5, fg="red", relief="solid")
label0.pack()


count = 0

def countUP():
    global count
    count +=1
    label.config(text=str(count))

# Label을 이용하여 삽입한 이미지나 도표, 그림 등에 사용되는 주석문을 생성할 수 있습니다.
label = tkinter.Label(window, text="0")
label.pack()

# Button을 이용하여 메서드 또는 함수 등을 실행시키기 위한 단추를 생성할 수 있습니다.
button = tkinter.Button(window, overrelief="solid", width=15, command=countUP, repeatdelay=1000, repeatinterval=100)
button.pack()


label2 = tkinter.Label(window, text="0")
label2.pack()

def calc(event):
    label2.config(text="결과="+str(eval(entry.get())))

# Entry을 이용하여 텍스트를 입력받거나 출력하기 위한 기입창을 생성할 수 있습니다
entry=tkinter.Entry(window)
entry.bind("<Return>", calc)
entry.pack()


# Listbox을 이용하여 목록을 불러와 추가, 제거 또는 선택하기 위한 리스트박스를 생성할 수 있습니다
listbox = tkinter.Listbox(window, selectmode='extended', height=0)
listbox.insert(0, "1번")
listbox.insert(1, "2번")
listbox.insert(2, "2번")
listbox.insert(3, "2번")
listbox.insert(4, "3번")

listbox.delete(1, 2)

listbox.insert(1, "1-1번")

listbox.pack()

# Checkbutton을 이용하여 옵션 등을 다중 선택하기 위한 체크버튼을 생성할 수 있습니다.
def flash():
    checkbutton1.flash()

CheckVariety_1=tkinter.IntVar()
CheckVariety_2=tkinter.IntVar()

checkbutton1=tkinter.Checkbutton(window, text="O", variable=CheckVariety_1, activebackground="blue")
checkbutton2=tkinter.Checkbutton(window, text="△", variable=CheckVariety_2)
checkbutton3=tkinter.Checkbutton(window, text="X", variable=CheckVariety_2, command=flash)

checkbutton1.pack()
checkbutton2.pack()
checkbutton3.pack()


# Radiobutton을 이용하여 옵션 등을 단일 선택하기 위한 라디오버튼을 생성할 수 있습니다.
def check():
    label.config(text= "RadioVariety_1 = " + str(RadioVariety_1.get()) + "\n" +
                       "RadioVariety_2 = " + str(RadioVariety_2.get()) + "\n\n" +
                       "Total = "          + str(RadioVariety_1.get() + RadioVariety_2.get()))

RadioVariety_1=tkinter.IntVar()
RadioVariety_2=tkinter.IntVar()

radio1=tkinter.Radiobutton(window, text="1번", value=3, variable=RadioVariety_1, command=check)
radio1.pack()

radio2=tkinter.Radiobutton(window, text="2번(1번)", value=3, variable=RadioVariety_1, command=check)
radio2.pack()

radio3=tkinter.Radiobutton(window, text="3번", value=9, variable=RadioVariety_1, command=check)
radio3.pack()

label=tkinter.Label(window, text="None", height=5)
label.pack()

radio4=tkinter.Radiobutton(window, text="4번", value=12, variable=RadioVariety_2, command=check)
radio4.pack()

radio5=tkinter.Radiobutton(window, text="5번", value=15, variable=RadioVariety_2, command=check)
radio5.pack()


# Menu을 이용하여 자주 사용하는 기능 등을 다양한 선택사항으로 나누는 메뉴을 생성할 수 있습니다.
def close():
    window.quit()
    window.destroy()

menubar=tkinter.Menu(window)

menu_1=tkinter.Menu(menubar, tearoff=0)
menu_1.add_command(label="하위 메뉴 1-1")
menu_1.add_command(label="하위 메뉴 1-2")
menu_1.add_separator()
menu_1.add_command(label="하위 메뉴 1-3", command=close)
menubar.add_cascade(label="상위 메뉴 1", menu=menu_1)

menu_2=tkinter.Menu(menubar, tearoff=0, selectcolor="red")
menu_2.add_radiobutton(label="하위 메뉴 2-1", state="disable")
menu_2.add_radiobutton(label="하위 메뉴 2-2")
menu_2.add_radiobutton(label="하위 메뉴 2-3")
menubar.add_cascade(label="상위 메뉴 2", menu=menu_2)

menu_3=tkinter.Menu(menubar, tearoff=0)
menu_3.add_checkbutton(label="하위 메뉴 3-1")
menu_3.add_checkbutton(label="하위 메뉴 3-2")
menubar.add_cascade(label="상위 메뉴 3", menu=menu_3)

window.config(menu=menubar)


window.mainloop()



print("Window Close")
반응형
반응형

[python] chatGPT가 만들어준 tkinter 이용한 영화추천 프로그램 

 

질문 : python gui program make a recomendation

 

 

import tkinter as tk
from tkinter import messagebox

# Sample movie data
movies = {
    "Action": ["Die Hard", "Mad Max: Fury Road", "The Dark Knight"],
    "Comedy": ["The Hangover", "Superbad", "Anchorman"],
    "Drama": ["The Shawshank Redemption", "Forrest Gump", "The Godfather"]
}

def get_recommendation():
    selected_genre = genre_var.get()
    
    if selected_genre:
        recommendations = movies.get(selected_genre, [])
        
        if recommendations:
            recommended_movies.set("\n".join(recommendations))
        else:
            recommended_movies.set("No recommendations available for this genre.")
    else:
        messagebox.showinfo("Error", "Please select a genre.")

# Create the main GUI window
root = tk.Tk()
root.title("Movie Recommendation")

# Create and place widgets
genre_label = tk.Label(root, text="Select a genre:")
genre_label.pack()

genre_var = tk.StringVar()
genre_dropdown = tk.OptionMenu(root, genre_var, *movies.keys())
genre_dropdown.pack()

recommend_button = tk.Button(root, text="Get Recommendation", command=get_recommendation)
recommend_button.pack()

recommended_movies = tk.StringVar()
recommended_movies_label = tk.Label(root, textvariable=recommended_movies)
recommended_movies_label.pack()

root.mainloop()
반응형
반응형

 

1. tkinter 설치

 

먼저 tkinter를 설치해야겠죠.

저는 Mac 기준으로 설명을 드릴테지만 (놀랍게도 tkinter는 Mac에서도 작동합니다.)

Window도 동일합니다.

 

pip install tk

 

terminal에 위 명령어를 입력합시다.

주의할 점은 라이브러리 이름이 tkinter라고 해서 pip install tkinter라고 입력하면 설치되지 않습니다.

pip install tk라고 입력해야 합니다.

반응형

+ Recent posts