PyQt打开文件对话框 - 显示路径名称

时间:2015-07-30 15:40:32

标签: file python-2.7 user-interface file-upload pyqt

使用PyQt,我创建了一个按钮,可以从任何目录中选择和上传文件。如何在按钮旁边创建一个显示所选或打开文件路径的文本框?

以下是我的示例代码:

    self.uploadButton = QtGui.QPushButton('UPLOAD SDF', self)
    self.runfilterButton = QtGui.QPushButton('Run Filter', self)
    self.printimagesButton = QtGui.QPushButton('Display Matches Images', self)
    self.listmatchesButton = QtGui.QPushButton('List Matches', self)

    self.uploadButton.move (100, 50)
    self.runfilterButton.move (400,50)
    self.printimagesButton.move (200, 100)
    self.printimagesButton.resize (200, 50)
    self.listmatchesButton.move (200, 150)
    self.listmatchesButton.resize (200, 50)
    hBoxLayout = QtGui.QHBoxLayout()

    hBoxLayout.addWidget(self.uploadButton)
    hBoxLayout.addWidget(self.runfilterButton)
    self.setLayout(hBoxLayout)
    # Signal Init.
    self.connect(self.uploadButton, QtCore.SIGNAL('clicked()'), self.open)
    self.runfilterButton.clicked.connect(runfilterx)
    self.printimagesButton.clicked.connect(printimages)
    self.listmatchesButton.clicked.connect(listmatches)

2 个答案:

答案 0 :(得分:3)

首先,你需要创建一个像这样的TextEdit- self.myTextBox = QtGui.QTextEdit(self)。将它放在屏幕上的任何地方后。你连接它打开功能。它应该看起来像这样。

def open(self):
    fileName = QtGui.QFileDialog.getOpenFileName(self, 'OpenFile')
    self.myTextBox.setText(fileName)
    print(fileName)

这将在textBox上显示所选文件的路径。

答案 1 :(得分:0)

如果项目中有多个TextEdit作业,则只能使用一种方法将LineEditQPushButton连接到QFileDialog

def getPath(self , targetTextEdit , targetPushButton):
        targetPushButton.clicked.connect(lambda: targetTextEdit.setText(QtWidgets.QFileDialog.getOpenFileName(self, 'OpenFile')[0]))  

self.getPath( self.textEdit1 ,self.pushButton1)
self.getPath( self.textEdit2 ,self.pushButton2)
.
.
.