Hallo,
in meiner letzten frage ging es ja um das einbinden von XML,
nun hab ich es allerdings ist da noch eine Frage offen: Wie kann ich in Tkinter die Strings auf einen Label erscheinen lassen?
Tkinter & XML
-
- User
- Beiträge: 1715
- Registriert: Freitag 31. Juli 2015, 13:34
Das ist ganz einfach. Wenn Du einen Label hast, nehmen wir mal an, das wäre my_label und wenn Du einen String hast, nehmen wir einmal an, das wäre my_string, dann schreibst Du einfach:Felix Eckert hat geschrieben:Hallo,
in meiner letzten frage ging es ja um das einbinden von XML,
nun hab ich es allerdings ist da noch eine Frage offen: Wie kann ich in Tkinter die Strings auf einen Label erscheinen lassen?
my_label['text'] = my_string
-
- User
- Beiträge: 31
- Registriert: Samstag 10. Juni 2017, 10:53
Ich meine das wenn ich in XML einen String habe und ign in Tkinter ausgeben will__deets__ hat geschrieben:Das hat ja nun mit XML nix zu tun. Und es gibt hier wirklich *TONNEN* von Code der zeigt, wie man mit Tkinter arbeitet. Hast du dir mal die Muehe gemacht da ein bisschen durch zu schauen?
Ich habe schon verstanden was du meinst. Was ICH meine ist, dass es hier ganz doll viele Beitraege gibt, bei denen du dir abschauen kannst, wie man den Text eines Labels aendern kannst. Inzwischen hat Alfons dir auch noch mal gezeigt, wie es geht. Was ist denn noch unklar? Und ohne das du hier Code zeigst, wie sollen wir dir denn weiter helfen?
-
- User
- Beiträge: 1715
- Registriert: Freitag 31. Juli 2015, 13:34
Also was ist jetzt das Problem. Einen String in einen Label zu schreiben, ist ja wohl kein Problem.Felix Eckert hat geschrieben:Ich meine das wenn ich in XML einen String habe und ign in Tkinter ausgeben will
Oder hast Du einen String in XML und weißt nicht, wie Du ihn aus XML herausliest. Oder hast Du keinen Label in tkinter, weil Du nicht weißt, wie man dort einen Label macht. Oder hättest Du gerne eine dynamische Gui mit Labeln und weißt nicht, wie man das macht. Vielleicht stellst Du dann vor, was Du gerne haben möchtest. Kannst ja ein Bild davon anfertigen und über pic_upload.de dann ins Internet laden und hier zeigen.
-
- User
- Beiträge: 31
- Registriert: Samstag 10. Juni 2017, 10:53
Ich weiß nocht wie man ihn heraus ließt, da das einleßen klappt allerdings ich keine Strings heraus kriegeAlfons Mittelmeyer hat geschrieben:Also was ist jetzt das Problem. Einen String in einen Label zu schreiben, ist ja wohl kein Problem.Felix Eckert hat geschrieben:Ich meine das wenn ich in XML einen String habe und ign in Tkinter ausgeben will
Oder hast Du einen String in XML und weißt nicht, wie Du ihn aus XML herausliest. Oder hast Du keinen Label in tkinter, weil Du nicht weißt, wie man dort einen Label macht. Oder hättest Du gerne eine dynamische Gui mit Labeln und weißt nicht, wie man das macht. Vielleicht stellst Du dann vor, was Du gerne haben möchtest. Kannst ja ein Bild davon anfertigen und über pic_upload.de dann ins Internet laden und hier zeigen.
-
- User
- Beiträge: 31
- Registriert: Samstag 10. Juni 2017, 10:53
Code: Alles auswählen
<?xml version="1.0" ?>
<test>
Hallo da!
</test>
@Felix Eckert: Etwas genauer solltest Du schon beschreiben, was Du eigentlich vorhast. Einfach nur eine XML auslesen und den Inhalt in ein Textfeld schreiben? Da würde ich vielleicht so beginnen und wenn es mehr werden sollte, mich an den Beispielen unter https://docs.python.org/3.6/library/xml ... ttree.html halten.
[codebox=xml file=Unbenannt.xml]<?xml version="1.0" encoding="utf-8"?>
<wurzelelement>
<begruessung>Hallo da!</begruessung>
</wurzelelement> [/code]
[codebox=xml file=Unbenannt.xml]<?xml version="1.0" encoding="utf-8"?>
<wurzelelement>
<begruessung>Hallo da!</begruessung>
</wurzelelement> [/code]
Code: Alles auswählen
from tkinter import Tk, Button, Text, END
from tkinter.filedialog import askopenfilename
import xml.etree.ElementTree as ET
def parse_xml(dateiname):
tree = ET.parse(dateiname)
root = tree.getroot()
lese = root.find("begruessung")
if lese is not None:
return lese.text
return "Nicht gefunden!"
class Lesetest:
def __init__(self):
self.fenster = Tk()
self.textfeld = None
def lese_xml(self):
dateiname = askopenfilename(filetypes=[("XML Datei", "*.xml")])
if dateiname:
self.textfeld.delete(1.0, END)
self.textfeld.insert(END, parse_xml(dateiname))
def layout(self):
self.fenster.title("Lesetest")
self.textfeld = Text(self.fenster)
self.textfeld.pack()
Button(
self.fenster,
text = "Öffne XML",
command = self.lese_xml
).pack(pady = 4)
def main(self):
self.layout()
self.fenster.mainloop()
if __name__ == "__main__":
Lesetest().main()