PySimpleGUI - 畫布元素



畫布元素在 PySimpleGUI 應用程式視窗的表面上提供一個可繪製的面板。它等同於原始 Tkinter 包中的 Canvas 小部件。

首先,使用以下引數宣告 Canvas 類的物件:

can = PySimpleGUI.Canvas(canvas, background_color, size)

其中:

  • canvas − 保留空白以建立畫布

  • background_color − 背景顏色

  • size − (寬度(字元),高度(行))以畫素為單位的畫布大小

將此物件放置在應用程式視窗的佈局中。

我們可以使用 Tkinter 的 Canvas 的各種繪圖方法,首先使用 TkCanvas 屬性獲取底層畫布物件。

tkc = can.TkCanvas

現在我們可以呼叫各種繪圖方法,如下所示:

序號 方法和描述
1 create_line

繪製一條從 (x1,y1) 到 (x2,y2) 的直線。顏色由 fill 引數指定,粗細由 width 引數指定。

2 create_rectangle

繪製矩形,(x1,y1) 表示左上角座標,(x2,y2) 表示右下角座標。

fill 引數用於以指定顏色顯示實心矩形。

3 create_oval

顯示橢圓。(x1,y1) 表示中心座標。r1 和 r2 分別代表“x”半徑和“y”半徑。如果 r1 和 r2 相同,則繪製圓形。

4 create_text

在 x1,y1 座標處顯示 text 引數的字串值。Font 引數決定字型名稱和大小,fill 引數用於應用字型顏色。

下面是一個簡單的 Canvas 元素實現:

import PySimpleGUI as sg
can=sg.Canvas(size=(700,500), background_color='grey', key='canvas')
layout = [[can]]
window = sg.Window('Canvas Example', layout, finalize=True)
tkc=can.TKCanvas
fig = [tkc.create_rectangle(100, 100, 600, 400, outline='white'),
   tkc.create_line(50, 50, 650, 450, fill='red', width=5),
   tkc.create_oval(150,150,550,350, fill='blue'),
   tkc.create_text(350, 250, text="Hello World",
   fill='white', font=('Arial Bold', 16)),
]
while True:
   event, values = window.read()
   if event == sg.WIN_CLOSED:
      break

執行以上程式碼後,您將得到以下結果:

Canvas Element
pysimplegui_element_class.htm
廣告
© . All rights reserved.