Python Tkinter Canvas

Python-GUI-Programmierung

Das Python Tkinter Canvas-Widget ist wie das Canvas in HTML5; es wird zum Zeichnen verwendet. Sie können Grafiken, Text, Widgets oder Frames auf dem Canvas platzieren.

Syntax

Das Syntaxformat lautet wie folgt:

w = Canvas ( master, option=value, ... )
  • master: Der übergeordnete Container der Schaltfläche.

  • options: Optionale Elemente, d. h. die konfigurierbaren Eigenschaften der Schaltfläche. Diese Optionen können in der Form key = value festgelegt werden, getrennt durch Kommas.

Nein. Option & Beschreibung
1

bd

Randbreite, in Pixeln, Standard ist 2 Pixel.

2

bg

Hintergrundfarbe

3

confine

Wenn true (Standard), kann der Canvas nicht außerhalb des scrollbaren Bereichs gescrollt werden.

4

cursor

Einstellung der Cursorform, wie z. B. arrow, circle, cross, plus usw.

5

height

Height

6

highlightcolor

Die hervorzuhebende Farbe

7

relief

Rahmenstil, optionale Werte sind FLAT, SUNKEN, RAISED, GROOVE, RIDGE. Standard ist FLAT.

8

scrollregion

Ein Tupel (w, n, e, s), das den maximal scrollbaren Bereich des Canvas definiert, wobei w die linke Seite, n die obere Seite, e die rechte Seite und s die untere Seite ist.

9

width

Die Größe des Canvas auf der X-Koordinatenachse.

10

xscrollincrement

用于水平滚动请求的值。

11

xscrollcommand

水平滚动条;如果画布可滚动,此属性是水平滚动条的 .set() 方法。

12

yscrollincrement

与 xscrollincrement 类似,但方向为垂直。

13

yscrollcommand

垂直滚动条;如果画布可滚动,此属性是垂直滚动条的 .set() 方法。

Canvas 控件支持以下标准选项:

arc − 创建弧

coord = 10, 50, 240, 210
arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")

image − 创建图像

filename = PhotoImage(file = "sunshine.gif")
image = canvas.create_image(50, 50, anchor=NE, image=filename)

line − 创建线

line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)

oval − 创建椭圆

oval = canvas.create_oval(x0, y0, x1, y1, options)

polygon − Erstellt ein Polygon mit mindestens drei Eckpunkten

oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)

Beispiel

Im Beispiel wird beim Klicken auf den Button eine Meldung angezeigt:

Beispiel

#!/usr/bin/python # -*- coding: UTF-8 -*- import Tkinter import tkMessageBox # -*- coding: cp936 -*- # Erstelle ein Rechteck und lege die Canvas-Farbe als Weiß fest from Tkinter import * root = Tk() # Erstelle ein Canvas und setze seine Hintergrundfarbe auf Weiß cv = Canvas(root,bg = 'white') # Erstelle ein Rechteck mit den Koordinaten (10,10,110,110) cv.create_rectangle(10,10,110,110) cv.pack() root.mainloop() # Zur Verdeutlichung die Hintergrundfarbe auf Weiß setzen, um sie von root zu unterscheiden top.mainloop()

Die Testausgabe sieht wie folgt aus:

Python-GUI-Programmierung

Andere Erweiterungen