파이썬 GUI 프로그래밍은 전통적으로 tkinter를 사용하는데, 이게 꽤 촌스러운 UI를 보여준다. 그래서 PyQt나 다른 것들을 사용한다.
그러다가 최근 ttkbootstrap이라는 라이브러리를 알게 되었는데 눈이 번쩍 띄어졌다.
Ttkbootstrap은 Tkinter의 Ttk(Themed Tkinter) 모듈을 사용하여 Python 애플리케이션의 GUI를 향상시키는 데 도움이 되는 도구이다. 이를 사용하면 간편하게 다양한 테마와 스타일을 적용하여 멋진 GUI 디자인을 구현할 수 있는걸 발견하게 되었다.
주요 특징
- 다양한 테마 지원: Ttkbootstrap은 여러 가지 테마를 제공하여 사용자가 자신의 취향에 맞게 선택할 수 있습니다. 예를 들어, 부스트랩(Bootstrap) 테마를 사용하여 모던하고 세련된 UI를 구현할 수 있습니다.
- 커스터마이징 기능: 사용자는 각 위젯에 대해 쉽게 커스터마이징할 수 있습니다. 색상, 폰트, 크기 등을 조절하여 자신만의 디자인을 만들 수 있습니다.
- 간편한 사용법: Ttkbootstrap은 간단하고 직관적인 API를 제공하여 누구나 쉽게 활용할 수 있습니다. 초기 설정이나 복잡한 코드 없이도 눈에 띄는 디자인을 만들 수 있습니다.
아래 코드는 간단히 마일 값을 전달받아 킬로미터로 변환해주는 변환기 예제 소스이다.
window를 마스터로 잡고 안에 들어가야하는 위젯을 넣어주는(pack) 동작방식은 tkinter와 동일하다.
다만 유려한 UI를 보여줘서 간편하게 GUI 프로그래밍을 할 수 있다.
import ttkbootstrap as ttk
def convert():
miles = entry_int.get()
km = miles * 1.60934
output_string.set(f"{km:.2f} km")
# main window
window = ttk.Window(themename="journal")
window.title("Miles to Km Converter")
window.geometry("300x150")
# title label
title_label = ttk.Label(window, text="Miles to kilometers", font="Calibri 24 bold")
title_label.pack()
# input frame + entry + button
input_frame = ttk.Frame(window)
entry_int = ttk.IntVar()
entry = ttk.Entry(input_frame, textvariable=entry_int)
button = ttk.Button(input_frame, text="Convert", command=convert)
entry.pack(side='left', padx=10)
button.pack(side='left')
input_frame.pack(pady=10)
# output label
output_string = ttk.StringVar()
output_label = ttk.Label(window, textvariable=output_string, font="Calibri 24")
output_label.pack(pady=5)
window.mainloop()
반응형
'프로그래밍' 카테고리의 다른 글
[CSS] 반응형 웹디자인 기본: 미디어쿼리 & 뷰포트 (0) | 2024.01.03 |
---|---|
[CSS] 플렉스 (Flex) 컨테이너 (1) | 2024.01.03 |
[Flutter] NoSQL 라이브러리 - Isar 사용법 정리 (1) | 2023.11.20 |
[Flutter] SliverPersistentHeaderDelegate 소개 (0) | 2023.09.01 |
NSManagedObject에 대한 설명 (0) | 2023.08.29 |