Tkinter & XML

Fragen zu Tkinter.
Antworten
Felix Eckert
User
Beiträge: 31
Registriert: Samstag 10. Juni 2017, 10:53

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?
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

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?
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

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?
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:

my_label['text'] = my_string
Felix Eckert
User
Beiträge: 31
Registriert: Samstag 10. Juni 2017, 10:53

__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 meine das wenn ich in XML einen String habe und ign in Tkinter ausgeben will
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

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?
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

Felix Eckert hat geschrieben:Ich meine das wenn ich in XML einen String habe und ign in Tkinter ausgeben will
Also was ist jetzt das Problem. Einen String in einen Label zu schreiben, ist ja wohl kein Problem.

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.
Felix Eckert
User
Beiträge: 31
Registriert: Samstag 10. Juni 2017, 10:53

Alfons Mittelmeyer hat geschrieben:
Felix Eckert hat geschrieben:Ich meine das wenn ich in XML einen String habe und ign in Tkinter ausgeben will
Also was ist jetzt das Problem. Einen String in einen Label zu schreiben, ist ja wohl kein Problem.

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.
Ich weiß nocht wie man ihn heraus ließt, da das einleßen klappt allerdings ich keine Strings heraus kriege
__deets__
User
Beiträge: 14480
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ohne das konkrete XML zu kennen, noch deinen Code, kann dir hier keiner helfen.
Felix Eckert
User
Beiträge: 31
Registriert: Samstag 10. Juni 2017, 10:53

Code: Alles auswählen

<?xml version="1.0" ?>
<test>
 Hallo da!
</test> 


Dies ist mein test XML
Sirius3
User
Beiträge: 17703
Registriert: Sonntag 21. Oktober 2012, 17:20

@Felix Eckert: nochmal von vorne: was willst Du erreichen? Was ist gegeben, was ist das Ziel? Was hast Du versucht? Was funktioniert nicht so, wie Du Dir das vorstellst?

Warum XML?
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

@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]

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()
Antworten