Reputation: 17049
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
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
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