QFileDialog的使用示例
时间: 2024-02-15 09:37:27 浏览: 129
PyQt5打开文件对话框QFileDialog实例代码
以下是一个简单的示例,演示如何使用QFileDialog选择文件和目录:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QFileDialog, QPushButton
import sys
class FileDialogExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('File Dialog Example')
self.button1 = QPushButton('选择文件', self)
self.button1.move(50, 50)
self.button1.clicked.connect(self.showFileDialog)
self.button2 = QPushButton('选择目录', self)
self.button2.move(50, 100)
self.button2.clicked.connect(self.showDirectoryDialog)
self.show()
def showFileDialog(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
fileName, _ = QFileDialog.getOpenFileName(self,"选择文件", "","All Files (*);;Python Files (*.py)", options=options)
if fileName:
print(fileName)
def showDirectoryDialog(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
directoryName = QFileDialog.getExistingDirectory(self,"选择目录", options=options)
if directoryName:
print(directoryName)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = FileDialogExample()
sys.exit(app.exec_())
```
在上面的示例中,我们创建了一个窗口,其中包含两个按钮:一个用于打开文件选择对话框,另一个用于打开目录选择对话框。在按钮单击事件处理程序中,我们使用QFileDialog类的getOpenFileName或getExistingDirectory方法打开相应的对话框,根据用户的选择获取文件名或目录名,并在控制台上打印出来。我们还使用QFileDialog.Options类中的DontUseNativeDialog选项来确保使用Qt的对话框而不是操作系统的本地对话框。
阅读全文