簡體   English   中英

PyQt QtGui.QFileDialog 不起作用?

[英]PyQt QtGui.QFileDialog not Working?

我正在使用 Python2.7 中的 Pyqt4 構建用戶界面,但是...當我點擊保存按鈕時,總是出現一個類型錯誤,即

TypeError: QFileDialog.getSaveFileName(QWidget parent=None, QString caption=QString(), QString directory=QString(), QString filter=QString(), QString selectedFilter=None, QFileDialog.Options options=0): 參數 1 有意外類型'Ui_MainWindow'

我的代碼如下:

class Ui_MainWindow(object):

def setupUi(self, MainWindow):
    MainWindow.setObjectName(_fromUtf8("MainWindow"))
    MainWindow.resize(640, 400)
    #code-skipped



def save(self):
    filename = QtGui.QFileDialog.getSaveFileName(self, 'Save File', os.getenv('HOME'))
    f = open(filename, 'w')
    filedata = self.textEdit.toPlainText()
    f.write(filedata)
    f.close()

def retranslateUi(self, MainWindow):
   #code-Skipped

class FileDialog(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
    QtGui.QMainWindow.__init__(self)
    self.setupUi(self)

def browse(self):
    filename = QtGui.QFileDialog.getOpenFileName(self, 'Open File', '.')
    fname = open(filename)
    data = fname.read()
    self.textEdit.setText(data)
    fname.close()

if __name__ == '__main__' :
app = QtGui.QApplication(sys.argv)

mainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())

請幫幫我,代碼片段是 aphericiated ...

UI_Mainwindow 不是 QtGui.QWidget 的實例。

 filename = QtGui.QFileDialog.getSaveFileName(None, 'Save File', os.getenv('HOME'))

或者

def setupUi(self, MainWindow):
    self.window = MainWindow
    MainWindow.setObjectName(_fromUtf8("MainWindow"))
    MainWindow.resize(640, 400)
    #code-skipped

def save(self):
    filename = QtGui.QFileDialog.getSaveFileName(self.window, 'Save File', os.getenv('HOME'))

將 QWidget 實例作為 QFileDialog 的父級傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM