附件显示了我想要达到的目标。
( a)程序读取包含歌曲名称(song1 - song5等)的csv文件。
( b)文本小部件中csv文件显示的确切名称,即小部件显示song1、song2、song 3等。
( c)用户单击其中一个名称,程序将查找包含这些确切名称但带有mp3后缀的目录,即loads 1.mp3、loads 2.mp3等,并加载vlc媒体播放器。
( d)歌曲名称在现实生活中明显不同,但我想说明CSV、text小部件和windows资源管理器名称都是常见的。
我需要了解如何实现这一目标。
1)我理解加载csv和标记文本,因此用户知道在哪里单击
2)我不明白用户单击文本时的过程,即如何计算用户单击的文本小部件中的区域,以及如何创建某种绑定来加载文件,还需要自动附加mp3后缀。
添加编辑工作代码
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))
有几个固定项用于生成与其他文件名和路径可能无关的最终文件名和路径--即“路径”、“后缀”,但它似乎可以按要求工作:)
发布于 2016-06-30 15:43:11
在Qt中,您可以与Pyqt或Pyside一起使用,您将填充一个QListWidget,其中每个项都有标签文本,并且可以与文件相关联。然后,将选择列表中的项(即单击或doubleClicked )的事件与一个函数连接起来,该函数确定列表中选择了哪个列表项,检索关联文件名,然后执行以文件名作为输入调用外部程序的命令。
https://stackoverflow.com/questions/38134704
复制相似问题