본문 바로가기
Programming/Python

Color Picker 연습 - 001

by The Programmer 2025. 5. 22.

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

 

[ Tkinter ColorPicker ]

 

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

아래 링크 모듈의 소스입니다.

 

tkColorPicker-2.1.3.zip
0.03MB

 

 

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!

^.^;