[Pyqt5.5 for Python3.4.3 学习笔记]-->QFileDialog文件和文本夹选择框的使用方法
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2016-06-06 22:37:53
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
下面是一个选择文件的代码
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys,os
class SelectDialog(QDialog):
def __init__(self, parent=None):
super(SelectDialog, self).__init__(parent)
self.path = os.getcwd()
self.initUI()
self.setWindowTitle("选择")
self.resize(240, 100)
def initUI(self):
grid = QGridLayout()
grid.addWidget(QLabel("路径:"), 0, 0)
self.pathLineEdit = QLineEdit()
self.pathLineEdit.setFixedWidth(200)
self.pathLineEdit.setText(self.path)
grid.addWidget(self.pathLineEdit, 0, 1)
button = QPushButton("更改")
button.clicked.connect(self.changePath)
grid.addWidget(button, 0, 2)
buttonBox = QDialogButtonBox()
buttonBox.setOrientation(Qt.Horizontal) # 设置为水平方向
buttonBox.setStandardButtons(QDialogButtonBox.Ok|QDialogButtonBox.Cancel)
buttonBox.accepted.connect(self.accept) # 确定
buttonBox.rejected.connect(self.reject) # 取消
grid.addWidget(buttonBox, 2, 1)
self.setLayout(grid)
def changePath(self):
open = QFileDialog()
self.path=open.getOpenFileName()
print(self.path)
#self.path = open.getExistingDirectory()
self.pathLineEdit.setText(self.path[0])
if __name__ == '__main__':
app = QApplication(sys.argv)
dialog = SelectDialog()
if dialog.exec_():
pass
上面效果中选择的文件还是英文的,下面我们改成中文
buttonBox.button(QDialogButtonBox.Ok).setText('选择')
buttonBox.button(QDialogButtonBox.Cancel).setText('取消')
选择多个文件或选取目录(注意不同的模式返回的数据格式是不一样的)
self.path=open.getOpenFileName()#选择一个文件 self.path=open.getOpenFileNames()#选择多个文件 self.path =open.getExistingDirectory()#选择目录
下面是完整的选择多个文件的代码
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys,os
class SelectDialog(QDialog):
def __init__(self, parent=None):
super(SelectDialog, self).__init__(parent)
self.path = os.getcwd()
self.initUI()
self.setWindowTitle("选择")
self.resize(240, 100)
def initUI(self):
grid = QGridLayout()
grid.addWidget(QLabel("路径:"), 0, 0)
self.pathLineEdit = QLineEdit()
self.pathLineEdit.setFixedWidth(200)
self.pathLineEdit.setText(self.path)
grid.addWidget(self.pathLineEdit, 0, 1)
button = QPushButton("更改")
button.clicked.connect(self.changePath)
grid.addWidget(button, 0, 2)
#grid.addWidget(QLabel("<font color='#ff0000'>包含Keywords.xml、Avatar,AvatarSet,Market.xls的路径</font>"), 1, 0, 1, 3)
buttonBox = QDialogButtonBox()
buttonBox.setOrientation(Qt.Horizontal) # 设置为水平方向
buttonBox.setStandardButtons(QDialogButtonBox.Ok|QDialogButtonBox.Cancel)
buttonBox.button(QDialogButtonBox.Ok).setText('选择')
buttonBox.button(QDialogButtonBox.Cancel).setText('取消')
buttonBox.accepted.connect(self.accept) # 确定
buttonBox.rejected.connect(self.reject) # 取消
grid.addWidget(buttonBox, 2, 1)
self.setLayout(grid)
def changePath(self):
open = QFileDialog()
#self.path=open.getOpenFileName()
self.path=open.getOpenFileNames()
print(self.path)
#self.path = open.getExistingDirectory()
self.pathLineEdit.setText(self.path[0][0])
if __name__ == '__main__':
app = QApplication(sys.argv)
dialog = SelectDialog()
if dialog.exec_():
pass