Mam taki kod:
Kod: Zaznacz cały
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui
from edytor import Ui_mdf2iso_gui
from subprocess import call
class StartQT4(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_mdf2iso_gui()
self.ui.setupUi(self)
# tutaj dajemy wlasne polaczenia slotow
QtCore.QObject.connect(self.ui.zrodlo,QtCore.SIGNAL("clicked()"), self.file_dialog)
QtCore.QObject.connect(self.ui.wynik,QtCore.SIGNAL("clicked()"), self.file_dialog2)
QtCore.QObject.connect(self.ui.konwertuj,QtCore.SIGNAL("clicked()"), self.file_dialog3)
def file_dialog(self):
fd = QtGui.QFileDialog(self)
self.filename = fd.getOpenFileName()
def file_dialog2(self):
df = QtGui.QFileDialog(self)
self.filename2 = df.getOpenFileName()
def file_dialog3(self):
call(["mdf2iso", fd])
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = StartQT4()
myapp.show()
sys.exit(app.exec_())
zrodlo - pobiera adres pliku do konwertowania
wynik - wybiera folder gdzie ma być plik wynikowy (tutaj muszę jeszcze znaleźć jak pobierać ścieżkę folderu, a nie pliku)
konwertuj - który uruchamia polecenie w konsoli
I w tym poleceniu mam dwie zmienne fd i df.
Musze je nazwać, czy opisać jako globalne, bo terminal zwraca:
Kod: Zaznacz cały
Traceback (most recent call last):
File "notes.py", line 30, in file_dialog3
call(["mdf2iso", fd])
NameError: global name 'fd' is not defined
Znalazłem w dokumentacji polecenie global, ale no nie potrafię się nim obsłużyć...