728x90
import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
# 선택된 값을 저장할 변수들
selected_values = {}
def show_selected():
"""사용자가 선택한 라디오 버튼 값 출력"""
result = []
for key, var in selected_values.items():
selected = var.get()
if selected:
result.append(f"{key}: {selected}")
messagebox.showinfo("선택된 값", "\n".join(result) if result else "아무것도 선택되지 않았습니다.")
# 메인 윈도우 생성
root = tk.Tk()
root.title("Tkinter GUI 구조")
root.geometry("500x400")
# a 프레임 생성
frame_a = ttk.LabelFrame(root, text="a")
frame_a.pack(fill="x", padx=10, pady=5)
# a 프레임 내부 라디오버튼 (1,2 세트)
var_a = tk.IntVar()
selected_values["a"] = var_a
tk.Radiobutton(frame_a, text="1", variable=var_a, value=1, fg="blue").pack(anchor="w")
tk.Radiobutton(frame_a, text="2", variable=var_a, value=2, fg="blue").pack(anchor="w")
# 기본값 설정 (a의 첫 번째 버튼 선택)
var_a.set(1)
# b 프레임 생성
frame_b = ttk.LabelFrame(root, text="b")
frame_b.pack(fill="x", padx=10, pady=5)
# b 내부 프레임 리스트 (100~400)
b_values = {100: [3, 4], 200: [5, 6], 300: [7, 8], 400: [9, 10]}
for key, values in b_values.items():
sub_frame = ttk.LabelFrame(frame_b, text=str(key))
sub_frame.pack(side="left", padx=5, pady=5)
var = tk.IntVar() # 세트마다 하나의 variable 사용
selected_values[key] = var
for val in values:
tk.Radiobutton(sub_frame, text=str(val), variable=var, value=val, fg="blue").pack(anchor="w")
# 기본값 설정 (각 b 프레임에서 첫 번째 버튼 선택)
var.set(values[0])
# c 프레임 생성
frame_c = ttk.LabelFrame(root, text="c")
frame_c.pack(fill="x", padx=10, pady=5)
# c 내부 프레임 리스트 (500~800)
c_values = {500: [11, 12], 600: [13, 14], 700: [15, 16], 800: [17, 18]}
for key, values in c_values.items():
sub_frame = ttk.LabelFrame(frame_c, text=str(key))
sub_frame.pack(side="left", padx=5, pady=5)
var = tk.IntVar() # 세트마다 하나의 variable 사용
selected_values[key] = var
for val in values:
tk.Radiobutton(sub_frame, text=str(val), variable=var, value=val, fg="blue").pack(anchor="w")
# 기본값 설정 (각 c 프레임에서 첫 번째 버튼 선택)
var.set(values[0])
# 실행 버튼 추가
btn_execute = ttk.Button(root, text="실행", command=show_selected)
btn_execute.pack(pady=10)
# GUI 실행
root.mainloop()
위의 코드를 사용하면 간단한
라디오버튼 예제가 실행된다
결과
728x90
'개발자 모드 > 파이썬(python)' 카테고리의 다른 글
파이썬 treeview 2개 불러서 왼쪽 선택시 오른쪽에 표시 (0) | 2023.06.17 |
---|---|
파이썬 QR Code 생성하기 (0) | 2022.10.10 |
파이썬 외부 IP 정보 얻는법 (0) | 2022.10.10 |
컴퓨터 내부 IP 알아내기 #2 (0) | 2022.10.03 |
컴퓨터 내부 IP 알아내기 #1 (0) | 2022.10.03 |