Liebe Forumsteilnehmer,
ich möchte zunächst betonen, dass ich bereits mindestens eine Stunde die üblichen Dokumentationen wie z.B. http://effbot.org/tkinterbook/canvas.htm und das Internet, speziell die Foren-Beiträge zu 'tkinter canvas create_text' durchsucht habe.
Ich möchte - am liebsten vorab - von einem text-Item, das ich in einer canvas mit create_text erzeuge, die Breite wissen. Der Weg über itemcget(item,'width') ergibt - richtigerweise - 0, da width die Bedeutung einer maximalen Breite habe und ich diese nicht gesetzt habe. Von Delphi her kenne ich die Funktion TextWidth(s), die das leistet, was ich möchte.
Viele Grüße
Klaus Merkert
Breite eines text-Items in canvas
Hallo KlausMerkert
Hier eine Möglichkeit für die Ermittlung der Breite und Höhe eines Canvas Text-Objektes:
Gruss wuf 
Hier eine Möglichkeit für die Ermittlung der Breite und Höhe eines Canvas Text-Objektes:
Code: Alles auswählen
import Tkinter as tk
app_win = tk.Tk()
canvas = tk.Canvas(app_win, width=200, height=100)
canvas.pack()
canvas.create_text(20, 40, text="Mein Canvas Text-Objekt", anchor='nw',
tags='my_text')
x1, y1, x2, y2 = canvas.bbox('my_text')
text_width = x2 - x1
text_height = y2 - y1
canvas.create_rectangle(x1, y1, x2, y2, outline='red')
print 'width = %d, height = %d' % (text_width, text_height)
app_win.mainloop()

Take it easy Mates!
-
- User
- Beiträge: 22
- Registriert: Freitag 22. Mai 2009, 11:16
Hallo wuf,
super, das ist das, was ich gesucht habe. Herzlichen Dank!
Viele Grüße
Klaus Merkert
super, das ist das, was ich gesucht habe. Herzlichen Dank!
Viele Grüße
Klaus Merkert