Zeichen wie Wurzel usw. in Python darstellen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Cobra5
User
Beiträge: 22
Registriert: Sonntag 25. Mai 2008, 10:44

Hallo allerseits,

Bin gerade dabei einen Taschenrechner zu programmieren. Jetzt wollte ich auf einer der Buttons und auf einer Anzeige ein Wurzel-Zeichen darstellen lassen. Hat jemand eine Idee, wie ich das machen kann?
Bin für jede Hilfe dankbar

Gruß Cobra5
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Das ist doch eher ein grafisches Problem ;-) Nimm ein Grafikprogramm wie Gimp und male Dir ein entsprechendes Icon. Alternativ such doch im Web nach einem Icon-Set. Da gibst sicherlich auch Wurzelzeichen.

Bei der Anzeige kommt es halt darauf an, was das verwendete Toolkit an Möglichkeiten anbietet. Evtl kann man für den Anfang dasselbe Icon nehmen wie oben und muss dann nur noch nach hinten eine Linie über die Zahlen malen lassen.

Das einfachste ist es allerdings einfach den Term mit normalen Text als Wurzel zu deklarieren - indem man sqrt(term) hinschreibt. Das sollte dem Benutzer ja eigentlich hinreichend deutlich machen, dass es sich um eine Wurzel handelt.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Entweder eine Bitmap-Grafik oder nimm einen Unicode-fähigen Zeichensatz und dort das Zeichen mit dem Codepoint U+221A (√) Das ist ein Wurzelzeichen.

Stefan
Panke
User
Beiträge: 185
Registriert: Sonntag 18. März 2007, 19:26

Ist die Windowswelt eigentlich mittlerweile im 21. Jahrhundert sprich bei Unicode angekommen? Kann ich also davon ausgehen, dass wenn ich jemanden bspw. per ICQ nen Wurzelzeichen schicke, dass der das auch lesen kann?
lunar

Panke hat geschrieben:Ist die Windowswelt eigentlich mittlerweile im 21. Jahrhundert sprich bei Unicode angekommen? Kann ich also davon ausgehen, dass wenn ich jemanden bspw. per ICQ nen Wurzelzeichen schicke, dass der das auch lesen kann?
Die Windows-Welt ist ja nun nicht einheitlich, und ICQ bestimmt nicht das beste Beispiel für ein gut programmiertes Windowsprogramm. Meiner Erfahrung nach schicken viele ICQ-Clients immer noch ISO-8859-1 und kein UTF-8 oder UTF-16.

Der Rest der Windows-Welt ist da wesentlich weiter, seit XP ist UTF-16 eigentlich die Standardkodierung, die vom Dateisystem bis zum Userspace verwendet findet. Imho spricht sogar das XP-Notepad UTF-16 und das will schon was heißen ...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lunar hat geschrieben:Der Rest der Windows-Welt ist da wesentlich weiter, seit XP ist UTF-16 eigentlich die Standardkodierung, die vom Dateisystem bis zum Userspace verwendet findet. Imho spricht sogar das XP-Notepad UTF-16 und das will schon was heißen ...
Notepad kann UTF-8 speichern und fügt da überflüssigerweise auch noch ein BOM hinzu. Da bin ich schon mal drauf reingefallen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Cobra5
User
Beiträge: 22
Registriert: Sonntag 25. Mai 2008, 10:44

Habe den Codepoint für Wurzeln benutzt, es funktioniert. Danke für die Hilfe.
Habe aber noch eine andere Frage:
Ich will jetzt auf dem selben Weg Hochzahlen darstellen. Auf folgender Seite habe ich die Zeichen gefunden: http://www.unicode.org/charts/PDF/U2070.pdf
Nun fehlen leider die Zahlen 1, 2, 3 als Hochzahlen. Finde ich die in einem anderen Chart(hoffe, dass man das so nennt :oops:) oder übersehe ich etwas?
Bin für jede Hilfe dankbar.

Gruß Cobra5
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Wenn es doch eh um einen Button geht, dann benutze doch Grafiken wie Hyperion schon meinte. Das ist doch viel angebrachter als sich ein Interface aus Unicodes zu basteln.
lunar

Ob das angebracht ist, sei mal dahingestellt, es ist nur wohl die einfachste Lösung bei Tkinter.

Im Allgemeinen allerdings halte ich persönlich es allerdings für höchst unangebracht, ein Icon mit der Anwendung zu verteilen, welches ein Zeichen darstellt, das in jeder halbwegs modernen Schriftart vorhanden ist, nur weil das verwendete Toolkit zu beschränkt ist, um Unicode auf vernünftige und plattformunabhängige Weise umzusetzen. Ein Argument mehr für Qt4.

my 2 cents
lunar
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lunar hat geschrieben:Ob das angebracht ist, sei mal dahingestellt, es ist nur wohl die einfachste Lösung bei Tkinter.
So wie ich das im Thread sehe hat auch Tkinter kein Problem damit, es ist nur so, dass man den Codepoint kennen muss.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Cobra5 hat geschrieben:http://www.unicode.org/charts/PDF/U2070.pdf
Nun fehlen leider die Zahlen 1, 2, 3 als Hochzahlen. Finde ich die in einem anderen Chart(hoffe, dass man das so nennt :oops:) oder übersehe ich etwas?
Steht doch daneben wo du 2 und 3 findest 00B2 und 00B3.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Im Fall, dass das Programm nicht nur auf dem eigenen Rechner mit einem entsprechenden Font laufen soll, der diese Zeichen auch tatsächlich bereitstellt, würde ich die Grafik-Variante vorziehen, weil man so sicherstellen kann, dass die Darstellung auf beliebigen Systemen korrekt ist.
BlackJack

@lunar: Wir wissen ja mittlerweile dass Du Tkinter nicht magst, aber Du scheinst da von einem Problem aus zu gehen, dass es gar nicht gibt. Tkinter kann problemlos Unicode-Zeichen darstellen. Man muss einfach nur den Text als `unicode`-Objekt angeben.

Den Codepoint muss man auch nur kennen, wenn man das Zeichen nicht über die Tastatur in den Rechner bekommt. Die Hoch- und Tiefgestellten Ziffern tippe ich zum Beispiel einfach ein. Die Tastenfolge <Compose>, <^>, <5> ergibt bei mir zum Beispiel die hochgestellte Fünf: ⁵. <_> statt <^> und es wird eine Tiefgestellte: ₅. Wer weiss, vielleicht versteckt sich hinter irgend einer Kombination auch das Wurzelzeichen. :-)
Antworten