0
点赞
收藏
分享

微信扫一扫

GUI 图形用户界面编程实例-颜色选择框

精进的医生 2022-02-16 阅读 58

前言

colorchooser 很简单,它就是提供一个让用户可以根据自己需要选择的颜色界面。

基础实例

from tkinter import  *
from tkinter.colorchooser import *

root = Tk();root.geometry("400x150")


def test1():
    s1 = askcolor(color="red", title="选择背景色")
    print(s1)
    root.config(bg=s1[1])

Button(root,text="选择背景色",command=test1).pack()

root.mainloop()

打开显示颜色选择: 

 

选择好颜色会进行填充: 

 

 强化实例,自由涂鸦

import tkinter as tk
from tkinter.colorchooser import *

# 创建颜色选择函数
def colorselect():
	global color            
	colors = askcolor()
	color = (int(colors[0][0]),int(colors[0][1]),int(colors[0][2])) 
	choosedcolor.set(str(color))       
# 创建绘制函数
def paint(event):
    x1, y1 = event.x, event.y
    x2, y2 = event.x, event.y
    w.create_oval(x1, y1, x2, y2, fill='#%02x%02x%02x' %color, outline='#%02x%02x%02x' %color)  # 设置颜色为colorchooser所选择的

root = tk.Tk()

color = (0,0,0)
choosedcolor = tk.StringVar()
choosedcolor.set(str(color))   # 设置初始颜色

tk.Label(root, text="自由涂鸦").pack(padx=10,pady=10)

frame1 = tk.Frame(root)
tk.Button(frame1, text="选择颜色", relief='flat',command=colorselect).pack(side='left',padx=3, pady=3)
tk.Label(frame1, textvariable=choosedcolor).pack(side='left',padx=3, pady=3)
frame1.pack(anchor='w')

w = tk.Canvas(root, width=400, height=200)
w.pack()

w.bind("<B1-Motion>", paint)   # 绘制函数绑定鼠标左键

tk.Button(root, text="清除屏幕", command=(lambda a='all':w.delete(a))).pack(padx=5, pady=5)

root.mainloop()

结果显示: 

 

 

举报

相关推荐

0 条评论