用pyQt打开文件

3 投票
2 回答
6927 浏览
提问于 2025-04-16 17:53

这里有一个按钮。
当你点击这个按钮的时候,应该用默认的文本编辑器打开文件 C:\file.txt(就像你双击这个文件一样)。
在pyQt中可以做到吗?按钮被按下后 -> 文件就打开了。
我在网上查到的都是对话框,但我不需要这些。

file = 'C:\file.txt'
widget.connect(button, QtCore.SIGNAL('clicked()'), ????)

这该怎么做呢?

2 个回答

1

使用这个方法配合lambda,你可以轻松打开任何你想要的文件。

self.ui.pushButton.clicked.connect(lambda:os.startfile(".\help.png"))
4
def openFile(file):
    if sys.platform == 'linux2':
        subprocess.call(["xdg-open", file])
    else:
        os.startfile(file)

把你的第二行改成:

widget.connect(button, QtCore.SIGNAL('clicked()'), openFile(file))

打开文件的代码是从 如何用标准应用打开文件? 这篇文章复制过来的。

撰写回答