0
Ich habe einen Text-Widget, das eine Spalte von Daten ‚dwg‘ zeigt, auf jede dieser Daten klicken sollte eine externe PDF-Anwendung öffnen. Ich habe ein Problem mit der Schleife, da das Tag nicht funktioniert und anschließend die Datei geöffnet wird. Wo bin ich falsch gelaufen?Text-Tagging und Looping-Datei mit externen Anwendung zu öffnen
def displayFile():
for f in os.listdir("c:\\pdf"):
if f.endswith(".pdf"):
pdflink="dwg" + f
path="c:\\pdf"
self.textbox.insert(END,f + "\n", "dwg")
self.textbox.tag_configure(pdflink, foreground="#0078D7", underline=False)
self.textbox.tag_bind(pdflink, "<Double-Button-1>", lambda event, filename = path+'/'+ f: subprocess.run(['c:\program files\sumatraPDF\sumatraPDF',filename]))
was ich versuche (und möglicherweise nicht richtig) ist, ein PDF-Suffix am Ende der "DWG" -Daten hinzuzufügen. Der Grund dafür ist, dass die 'dwg'-Daten mit den PDF-Dateien im Verzeichnis c: \\ pdf übereinstimmen. zB zeigt mein Text-Widget 3 Datenzeilen mit verschiedenen 'DWG'-Daten an, wie zB abcd oder efgh oder wxyz. Ich möchte in der Lage sein, ein .pdf Suffix dh abcd.pdf hinzuzufügen und dann meine externe Anwendung zu öffnen. – LMP2016
Ja, das sollte richtig sein - Sie markieren nur den Text, den Sie einfügen. Das Tag, das darauf geht, ist "dwg", aber Sie binden das Open-File-Lambda nicht an das "dwg" -Tag. Sie binden das Open-File-Lambda an das "dwg" + f-Tag (d. H "dwgmyfilename.pdf"), die nicht im Text enthalten ist. Holen Sie sich das Clicky-Tag und das eingefügte Tag passend, und es sollte helfen – Delioth
danke @delioth, ich habe irgendwie funktioniert, leider öffnet es die gleiche PDF für alles, was ich klicke, aber das ist außerhalb des Umfangs meiner ursprünglichen Frage :) – LMP2016