1. Introduction
간단한 컬러 선택 프로그램 예제입니다. 활용도가 매우 높을 듯.
tkcolorpicker 모듈을 설치해야 합니다. Thonny에서 설치 모듈을 'tkcolorpicker' 이름으로 검색해서 설치하면 편리합니다.
Thonny / Tools / Manage packages ... / 'tkcolorpicker' 이름으로 검색, 그리고 검색Search!
2. Code
# Github에 있는 대표 예제입니다.
import tkinter as tk
import tkinter.ttk as ttk
from tkcolorpicker import askcolor
root = tk.Tk()
style = ttk.Style(root)
style.theme_use('clam')
# askcolor((255, 255, 0), root)
print(askcolor((255, 255, 0), root))
root.mainloop()
3. Result
4. Notes
■ ttk 모듈 테마
root = tk.Tk()
style = ttk.Style(root)
style.theme_use('clam')
'clam' 테마는 ttk 모듈에 내장되어 있는 테마 중 하나입니다.
ttk.Style().theme_use()를 사용하면 ttk에서 제공하는 기본 테마를 적용할 수 있으며, 'clam' 외에도 'default', 'alt', 'classic', 'vista', 'xpnative' 같은 다양한 테마를 사용할 수 있습니다.
테마는 위젯의 스타일을 정의하는 방식으로, 특정 환경이나 운영체제에 따라 적용 가능한 테마가 다를 수도 있습니다.
ttk.Style().theme_names()를 사용하면 현재 시스템에서 사용할 수 있는 테마 목록을 확인할 수 있습니다.
■ askcolor 함수 사용법
색상을 시각적으로 선택할 수 있으며 선택된 색상은 웹 표준 색상 표기법에 맞게 출력할 수 있습니다. 내부 구조가 꽤 궁금합니다.
모듈만 실행하려면 :
askcolor((255, 255, 0), root)
반환값을 이용해 파이썬 쉘에 색상값을 출력하려면 :
print(askcolor((255, 255, 0), root))
■ 도움말 문서 :
별도의 관련 문서가 없지만 약간의 도움말은 있습니다.
https://github.com/j4321/tkColorPicker?tab=readme-ov-file#documentation
내용은 askcolor() 함수의 사용법에 대한 것입니다. 대략 번역하면 다음과 같습니다.
* * * * *
문법Syntax:
askcolor(color="red", parent=None, title=_("Color Chooser"), alpha=False)
위 함수는 컬러 선택 대화상자를 열고 선택한 색상값을 반환합니다. 선택된 색상값은 RGB 튜플로 반환되며, 색상을 선택하지 않고 취소한 경우에는 None이 반환됩니다.
alpha=False 부분은 알파 채널(여기서는 대충 투명도와 동일하게 취급하기로.. )에 대한 것인데, 특정 % 투명도에 대한 추가 설명이 없네요. 포토샵에서의 알파 채널 개념과 비슷하겠지만 실제로 사용하려면 약간의 실험 실습이 필요할 듯. ^.^;
함수의 인수/인자Arguments:
- color : 초기 선택 색상값
- 지원되는 색상 표기 형식 : RGB(A) 그리고 #RRGGBB(AA)
- 미리 정해져 있는 tkinter 색상명은 다음 목록을 참고할 것 : http://wiki.tcl.tk/37701
- parent : 부모 윈도우
- title : 대화상자 제목
- alpha : 알파 채널 지원. (세부 설명은 없음.. ㅡ.ㅡ; )
다음 두 모듈 패키지가 필요합니다.
1) tkinter (윈도우용 파이썬에 이미 내장되어 있음.)
2) Pillow (이건 아마도 추가 설치해야.)
* * * * *
이게 설명 문서의 전부입니다. 나머지 세부 사항에 대해서는 하단 첨부 파일 소스를 직접 참고하세요.
■ 응용 연습 과제
1) 무지개 색상을 추출해보세요.
2) 정확한 색상값을 어떻게 결정하나요?
3) 많이 쓰는 24색상이나 256 웹 안전 색상 테이블을 만드려면 어떻게 해야 할까요?
4) 테이블 형식 이외에 원형이나 벌집 모양으로 구성하려면 어떻게 해야 할까요?
5) 초간단 그림판 프로그램을 만들어보면 좋을 듯. 주요 교재 어딘가에서 그림판 예제를 본 듯도 한데.. ^.^;
5. Files
아래 링크 모듈의 소스입니다.
6. Ref.
1) https://github.com/j4321/tkColorPicker
GitHub - j4321/tkColorPicker: Color picker dialog for Tkinter, alternative to tkinter.colorchooser
Color picker dialog for Tkinter, alternative to tkinter.colorchooser - j4321/tkColorPicker
github.com
Happy Programming!
^.^;
'Programming > Python' 카테고리의 다른 글
프로세스의 실행과 종료하기 - Ex. 001 - calc.exe의 정체 (0) | 2025.05.22 |
---|---|
Processing PythonMode Ex - 002 (0) | 2025.04.29 |
Python List 연습 - 002 (0) | 2025.04.20 |
Processing PythonMode Ex. 001 (0) | 2025.03.29 |
Python Intro - 003 - Input and Return Value Ex. 001 (0) | 2025.02.16 |