Qiao
Qiao

Reputation: 17049

Open file with pyQt

There is a button.
When it is clicked, file C:\file.txt should be opened with default text editor (as if it is double clicked).
Is it possible in pyQt? Button is pressed -> file is opened.
All I can google is just dialogs, but I don't need them.

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

How it can be done?

Upvotes: 3

Views: 7152

Answers (2)

We_Are_All_Same
We_Are_All_Same

Reputation: 29

use this method with lambda and easily open any file you want

self.ui.pushButton.clicked.connect(lambda:os.startfile(".\help.png"))

Upvotes: 1

Jacob
Jacob

Reputation: 43299

def openFile(file):
    if sys.platform == 'linux2':
        subprocess.call(["xdg-open", file])
    else:
        os.startfile(file)

And edit your 2nd line to:

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

Code for opening file copied from How to open a file with the standard application?

Upvotes: 4

Related Questions