Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để vẽ một thang đo có phạm vi từ đỏ đến xanh lá cây trong Tkinter?

Gradient màu xác định phạm vi màu phụ thuộc vào vị trí. Để cụ thể hơn, nếu bạn muốn tạo một tỷ lệ hình chữ nhật trong một ứng dụng có chứa một số dải màu trong đó (gradient), thì chúng ta có thể làm theo các bước sau -

  • Tạo một hình chữ nhật bằng tiện ích canvas và xác định chiều rộng và chiều cao của nó.

  • Xác định một hàm để tô màu trong phạm vi. Để tô màu, chúng ta có thể sử dụng các giá trị lục giác bên trong một bộ tuple.

  • Lặp lại phạm vi màu và tô màu hình chữ nhật với nó.

Ví dụ

# Import the required libraries
from tkinter import *
from tkinter import ttk

# Create an instance of tkinter frame
win = Tk()

# Set the size of the window
win.geometry("700x350")
win.title("Gradient")

# Define a function for filling the rectangle with random colors
def rgb(r, g, b):
   return "#%s%s%s" % tuple([hex(c)[2:].rjust(2, "0")
      for c in (r, g, b)])

# Define gradient
gradient = Canvas(win, width=255 * 2, height=25)
gradient.pack()

# Iterate through the color and fill the rectangle with colors(r,g,0)
for x in range(0, 256):
   r = x * 2 if x < 128 else 255
   g = 255 if x < 128 else 255 - (x - 128) * 2
   gradient.create_rectangle(x * 2, 0, x * 2 + 2, 50, fill=rgb(r, g, 0), outline=rgb(r, g, 0))

win.mainloop()

Đầu ra

Chạy đoạn mã trên sẽ hiển thị một gradient tỷ lệ có một số dải màu được xác định trong đó.

Làm thế nào để vẽ một thang đo có phạm vi từ đỏ đến xanh lá cây trong Tkinter?