目錄
目錄
前言
由於最近想在tkinter里內嵌matplotlib,由於用到tkinter里的carves控件,先學習一下。
carves就是畫布的意思,用於畫圖。
(一)carves創建方法
(1)說明:
與其他的控件一樣,carves的創建方也是在tk里。
(2)源代碼:
import tkinter as tk
win = tk.Tk()
win.geometry("600x400+200+100")
# 創建畫布
canvas = tk.Canvas(win, bg="orange")
canvas.place(relx=0.05, rely=0.05, relwidth=0.9, relheight=0.9)
win.mainloop()
(3)輸出效果:
(二)carves的畫圖方法
(1)說明:
方法 | 說明 | 參數 |
---|---|---|
.create_line() | 畫線 | (起始坐標),(終點坐標),width=線寬,fill=顏色 |
.create_arc() | 畫圓弧 | (起始坐標),(終點坐標),width=線寬,fill=顏色 |
.create_rectangle() | 畫矩形 | (起始坐標),(終點坐標),fill='填充的顏色, outline=邊框的顏色 |
.create_oval() | 畫橢圓 | (外接矩陣的四個坐標),fill='填充的顏色, outline=邊框的顏色 |
.create_polygon() | 畫多邊形 | d多個點的坐標,fill='填充的顏色, outline=邊框的顏色 |
.create_text() | 顯示文字 | text="文字" |
.delete() | 刪除對象 | 創建線返回的對象 |
(2)源代碼:
import tkinter as tk
win = tk.Tk()
win.geometry("600x400+200+100")
canvas = tk.Canvas(win, bg="orange")
canvas.place(relx=0.05, rely=0.05, relwidth=0.9, relheight=0.9)
# 畫一條實線, fill:填充的顏色
line1 = canvas.create_line((0, 0), (100, 100), width=5, fill="red")
# 畫一條虛線 dash=(1, 1)
canvas.create_line((200, 200), (200, 300), width=5, fill="green", dash=(1, 1))
# 畫一個圓弧
canvas.create_arc((100, 100), (200, 200), width=5)
# 顯示文字
canvas.create_text((300, 100), text="文字", font=("微軟雅黑", 18))
# 繪制矩形, outline:線條顏色
canvas.create_rectangle(50, 25, 150, 75, fill='blue', outline='green', width=5)
# 繪制橢圓
canvas.create_oval(200, 25, 350, 75, fill='pink', outline='green', width=5)
# 繪制多邊形
point = [(100, 100), (100, 200), (200, 300), (300, 400), (400, 500)]
canvas.create_polygon(point, outline='green', fill='yellow')
def dele_line():
canvas.delete(line1)
btn = tk.Button(canvas, text="刪除", command=dele_line)
btn.place(relx=0.4, rely=0.8)
win.mainloop()