2018年6月5日 星期二

Python Tkinter Canvas 畫圖型

Tkinter Canvas 介紹

宣告一個區域
from Tkinter import *
master = Tk()
w = Canvas(master, width=200, height=100) #宣告長200高100區域
w.pack()
要畫一條直線/斜線

w.create_line(10, 0, 10, 100) #直線
w.create_line(0, 0, 200, 100) #斜線
w.create_line(起點X, 起點Y, 終點X, 終點Y)
填滿顏色 fill="顏色" , 虛線dash=(分段長度, 分段長度)
w.create_line(0, 0, 200, 100, fill="red", dash=(4,4)) #斜線
畫方型 create_rectangle(x1, y1, x2, y2)
w.create_rectangle(50, 25, 150, 75, fill="black")
畫圓型 create_oval(x1, y1, x2, y2)
w.create_oval(50, 50, 150, 150, fill="yellow")
畫扇型 create_arc(x1, y1, x2, y2)
w.create_arc(50, 50, 150, 150, fill="blue")

範例
  1. # -*- coding: utf-8 -*-
  2. import Tkinter as tk
  3. import ttk as tttk
  4. from Tkinter import *
  5. win = tk.Tk()
  6. w, h = win.winfo_screenwidth(), win.winfo_screenheight()
  7. win.title("Python GUI")    # 添加标题
  8. win.geometry("300x300")
  9. w = Canvas(win, width=600, heigh=400) #宣告長200高100區域
  10. w.pack()
  11. w.create_line(20, 10, 130, 100) #斜線
  12. w.create_line(160, 100, 270, 10) #斜線
  13. w.create_oval(20, 100, 120, 200)
  14. w.create_oval(180, 100, 280, 200)
  15. w.create_rectangle(120, 200, 180, 280, fill="black")
  16. win.mainloop()

Link:

沒有留言:

張貼留言

【Arduino】 RS485 實現Modbus Slave

 這次使用Arduino UNO + RS485 的模組,來實現Modbus Slave 的通訊 Pin Name Pin Description VCC 5V A Non-inverting Receiver Input Non-Inverting Driver Output ...