Seite 1 von 1
Tiefgestellte Griechische Buchstaben - Labelbezeichnung
Verfasst: Donnerstag 23. April 2020, 20:00
von Sabbse92
Guten Abend zusammen,
in meiner GUI verwende ich zwei Labelbezeichnung bei denen folgende Symbole auftauchen
- text = "random text \Omega_{mu}" (großes griechisches Omega und tiefgestelltes kleines mu)
- text = "random text \Omega_{sigma}"
Ich habe schon mehrere englische Foren durchsucht. In diesen finde ich aber nur Lösungen bei den Zahlen oder normale Symbole des Alphabets a,b,c,.. tiefgestellt sind
Existiert eine Lösung die nicht matplotlib/latex verwendet ?
Hier ist ein Minimalbsp.:
Code: Alles auswählen
import tkinter as Tk
root = Tk.Tk()
Tk.Label(root, text="Hier steht ein großes Omega: \u03a9").pack()
root.mainloop()
Re: Tiefgestellte Griechische Buchstaben - Labelbezeichnung
Verfasst: Donnerstag 23. April 2020, 21:07
von Sirius3
Du kannst nur Unicode-Zeichen in Labels verwenden: an griechischen Subscripts gibt es ᵦᵧᵨᵩᵪ.
Re: Tiefgestellte Griechische Buchstaben - Labelbezeichnung
Verfasst: Freitag 24. April 2020, 11:09
von Sabbse92
Wenn ich z.B. ein tiefgestelltes rho anzeigen möchte, muss ich laut
https://www.compart.com/de/unicode/U+1D68
den Unicode \u1d68 verwenden.
Wenn ich diesen in Unicode hinzufüge, wird das tiefgestellte rho als Kästchen angezeigt (siehe unteres Bild):
Code: Alles auswählen
import tkinter as Tk
root = Tk.Tk()
Tk.Label(root, text="Hier steht ein großes Omega: \u03a9\u1d68").pack()
root.mainloop()
Re: Tiefgestellte Griechische Buchstaben - Labelbezeichnung
Verfasst: Freitag 24. April 2020, 11:38
von peterpy
import tkinter as Tk
root = Tk.Tk()
Tk.Label(root, text="Hier steht ein großes Omega: \u03a9").pack()
Tk.Label(root, text="Hier steht ein kleines roh: \u03c1").pack()
Tk.Label(root, text="und hier steht ein grosses Roh: \u03a1").pack()
root.mainloop()
https://unicode-table.com/de
Gruss
Peter
Re: Tiefgestellte Griechische Buchstaben - Labelbezeichnung
Verfasst: Freitag 24. April 2020, 12:12
von Sirius3
@peterpy: es geht nicht um das kleine Roh sondern um ein Tiefgestelltes.
@Sabbse92: dann unterstützt der gewählte Font dieses Zeichen nicht.

Re: Tiefgestellte Griechische Buchstaben - Labelbezeichnung
Verfasst: Montag 27. April 2020, 13:08
von peterpy
Hallo Sabbse92,
sorry, das tiefgestellt ist mir entgangen.
Dafür hab ich mir die Mühe genommen, das tiefgestellte Roh doch noch hinzubekommen.
Leider nicht in einem Labelwidget, sondern in einem Textwidget.
Mit dem offset gibst Du die Position des Zeichens an.
Negativ = Unterhalb der Unterline, positive oberhalb.
Ob dir das wohl dient?
#!/usr/bin/env python3 -u
#-*- coding: #utf-8 -*-
from tkinter import Tk, font, Text
root = Tk()
schrift = font.Font(family='DejaVu Sans', size=16, underline=True,
weight='normal')
schrifttief = font.Font(family='DejaVu Sans', size=12,
weight='normal')
subletter = '\u03C1'#kleines Roh
text="Hier steht ein grosses ROH,\n\
vor einem kleinen roh,\n\
vor einem kleinen,tiefgestellten Roh:\n \u03a1\u03C1"
fenster = Text(root, width=40, font=schrift)
fenster.insert("insert", text)
index2 = "%s%s" %(str(len(text)), ".0")
fenster.tag_add("Text", 1.0, index2)
fenster.tag_config("tiefstelle", offset=-7)
fenster.tag_config("Text", justify="center")
fenster.insert("insert", subletter,"tiefstelle")
fenster.tag_config("tiefstelle", font=schrifttief)
fenster.pack()
root.mainloop()
Gruss
Peter