Der Anhang zeigt, was ich versuche zu erreichen.Python (tkinter) - Klicken Text öffnet Datei in der externen Anwendung
a) Das Programm liest eine CSV-Datei ein, die Namen von Songs enthält (song1 - song5 usw.).
b) die genauen Namen aus der CSV-Datei der Anzeige in einem Text-Widget dh das Widget zeigen song1, song2, Song 3 usw.
c) ein Benutzer einen dieses Namen klickt und das Programm sucht in einem Verzeichnis, das enthält diese genauen Namen aber mit einem MP3-Suffix, also song1.mp3, song2.mp3 usw. und lädt den vlc media player.
d) Die Songnamen unterscheiden sich offensichtlich im wirklichen Leben, aber ich wollte zeigen, dass die CSV, Text Widget und Windows Explorer Namen alle gemeinsam sind.
Ich muss verstehen, wie man dies ermöglicht.
1) Ich verstehe die csv Laden und die Text-Tagging, so dass der Benutzer weiß, wo
klicken2) Ich habe nicht das Verfahren verstehen, wenn ein Benutzer auf den Text klickt, dh den Bereich, in dem arbeiten, Text-Widget, auf das der Benutzer geklickt hat und daraus eine Art Bindung zum Laden der Datei zu erstellen, müsste auch ein MP3-Suffix automatisch angehängt werden.
EDIT Arbeits-Code hinzugefügt
def viewFile(event):
path = "c:\\pdf"
suffix= ".pdf"
self.outputbox.tag_remove("dwg", "1.0", "end")
self.outputbox.tag_configure("dwg", background="red")
self.outputbox.tag_add("dwg", "insert linestart", "insert lineend")
getdwg=self.outputbox.get("insert linestart", "insert linestart+10c")
getdwg=getdwg.strip()
linkname = (getdwg + suffix)
self.outputbox.tag_bind("dwg", "<ButtonRelease-1>", lambda event, filename=path + '/' + linkname: subprocess.run(filename, shell=True))
Es gibt ein paar feste Elemente, die den endgültigen Dateinamen und Pfad verwendet werden, um zu erzeugen, die nicht nämlich auf andere relevant sein können ‚Pfad‘ , 'Suffix', scheint aber nach Bedarf zu funktionieren :)
Ich würde gerne das Standard-Python-IDLE-Programm verwenden, wenn es überhaupt möglich ist, Dinge zu behalten. – LMP2016