写一个16进制颜色和RGB颜色可以互相转换的程序,并将整个代码用tkinter写出一个界面,界面包含16进制颜色和rgb颜色的输入框,并有一个可以执行转换的按钮,并在转换完成后,在界面上显示对应颜色
时间: 2024-05-11 12:14:46 浏览: 55
好的,这是一个关于颜色转换的程序,可以把16进制颜色和RGB颜色相互转换。以下是代码:
```python
from tkinter import *
def hex_to_rgb(hex_color):
"""将16进制颜色转换为RGB颜色"""
r = int(hex_color[1:3], 16)
g = int(hex_color[3:5], 16)
b = int(hex_color[5:7], 16)
return (r, g, b)
def rgb_to_hex(rgb_color):
"""将RGB颜色转换为16进制颜色"""
r = hex(rgb_color[0])[2:].rjust(2, "0")
g = hex(rgb_color[1])[2:].rjust(2, "0")
b = hex(rgb_color[2])[2:].rjust(2, "0")
return "#" + r + g + b
def convert_color():
"""执行颜色转换"""
input_color = input_entry.get()
if input_color.startswith("#"):
# 如果输入的是16进制颜色
rgb_color = hex_to_rgb(input_color)
output_entry.delete(0, END)
output_entry.insert(0, str(rgb_color))
else:
# 如果输入的是RGB颜色
rgb_color = tuple(map(int, input_color.split(",")))
hex_color = rgb_to_hex(rgb_color)
output_entry.delete(0, END)
output_entry.insert(0, hex_color)
# 创建界面
root = Tk()
root.title("颜色转换")
root.geometry("400x200")
# 创建输入框和按钮
input_label = Label(root, text="输入颜色:")
input_label.pack(side=LEFT, padx=10, pady=10)
input_entry = Entry(root)
input_entry.pack(side=LEFT, padx=10, pady=10)
convert_button = Button(root, text="转换", command=convert_color)
convert_button.pack(side=LEFT, padx=10, pady=10)
output_label = Label(root, text="输出颜色:")
output_label.pack(side=LEFT, padx=10, pady=10)
output_entry = Entry(root)
output_entry.pack(side=LEFT, padx=10, pady=10)
root.mainloop()
```
请使用上述代码创建一个Python文件,并运行它,您将看到一个包含输入框和按钮的界面。您可以在输入框中输入16进制或RGB颜色,然后单击转换按钮,程序将在输出框中显示转换后的颜色。
阅读全文