Python (tkinter) - mengklik teks akan membuka file di aplikasi eksternal

Lampiran menunjukkan apa yang ingin saya capai.

a) Program membaca file csv yang berisi nama lagu (lagu1 - lagu5 dll).

b) nama persis dari file csv ditampilkan dalam widget teks yaitu widget menampilkan lagu1, lagu2, lagu 3 dll

c) pengguna mengklik salah satu nama tersebut dan program mencari di direktori yang berisi nama persis tersebut tetapi dengan akhiran mp3 yaitu song1.mp3, song2.mp3 dll dan memuat pemutar media vlc.

d) Nama lagu jelas berbeda dalam kehidupan nyata, tapi saya ingin menunjukkan bahwa CSV, widget teks, dan nama windows explorer semuanya umum.

Saya perlu memahami bagaimana mewujudkannya.

1) Saya memahami memuat csv dan memberi tag pada teks, sehingga pengguna tahu di mana harus mengklik

2) Saya tidak memahami prosedur ketika pengguna mengklik teks, yaitu cara menentukan area di widget teks yang diklik pengguna dan dari situ cara membuat semacam pengikatan untuk memuat file, akhiran mp3 perlu menjadi otomatis terpasang juga.

Ikhtisar Program

EDIT Kode Kerja ditambahkan

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

Ada beberapa item tetap yang digunakan untuk menghasilkan nama file akhir dan jalur yang mungkin tidak relevan dengan yang lain yaitu 'jalur', 'akhiran' tetapi tampaknya berfungsi sesuai kebutuhan :)


person LMP2016    schedule 30.06.2016    source sumber


Jawaban (1)


Di Qt, yang dapat Anda gunakan dengan Pyqt atau Pyside, Anda akan mengisi QListWidget yang setiap itemnya memiliki teks label dan dapat dikaitkan dengan file. Anda kemudian menghubungkan peristiwa pemilihan item dalam daftar, yaitu Diklik atau diklik dua kali dengan fungsi yang menentukan item daftar mana yang dipilih dalam daftar, mengambil nama file Terkait, dan kemudian menjalankan perintah yang ingin Anda panggil program eksternal dengan nama file tersebut sebagai masukan.

person Vince W.    schedule 30.06.2016
comment
Saya lebih suka menggunakan program python IDLE standar jika memungkinkan untuk menyimpan sesuatu. - person LMP2016; 01.07.2016