PyQt 打开文件对话框 - 显示路径名称
PyQt Open File Dialog - Display Path Name
我使用 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)
首先你需要创建一个TextEdit对象,如self.myTextBox = QtGui.QTextEdit(self)
。之后将其放置在屏幕上您想要的任何位置。然后你需要将它与你的 open
函数连接起来。它应该看起来像这样。
def open(self):
fileName = QtGui.QFileDialog.getOpenFileName(self, 'OpenFile')
self.myTextBox.setText(fileName)
print(fileName)
这将在您的 textBox
上显示所选文件的路径。
如果您的项目中有多个 QFileDialog
作业,您只能使用一种方法将 TextEdit
(或 LineEdit
)连接到 QPushButton
:
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)
.
.
.
我使用 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)
首先你需要创建一个TextEdit对象,如self.myTextBox = QtGui.QTextEdit(self)
。之后将其放置在屏幕上您想要的任何位置。然后你需要将它与你的 open
函数连接起来。它应该看起来像这样。
def open(self):
fileName = QtGui.QFileDialog.getOpenFileName(self, 'OpenFile')
self.myTextBox.setText(fileName)
print(fileName)
这将在您的 textBox
上显示所选文件的路径。
如果您的项目中有多个 QFileDialog
作业,您只能使用一种方法将 TextEdit
(或 LineEdit
)连接到 QPushButton
:
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)
.
.
.