[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