欢迎访问宙启技术站
智能推送

PyQt4.QtGui文件选择框的用法和路径获取

发布时间:2024-01-04 17:12:28

PyQt4.QtGui提供了QFileDialog类来实现文件选择框的功能。使用QFileDialog,您可以浏览文件系统,并选择要打开或保存的文件。

以下是一个使用QFileDialog的例子:

import sys
from PyQt4.QtGui import QApplication, QMainWindow, QFileDialog, QPushButton

class FileDialogExample(QMainWindow):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setWindowTitle('File Dialog Example')
        self.setGeometry(300, 300, 400, 300)

        self.button = QPushButton('Open File', self)
        self.button.setGeometry(150, 150, 100, 30)
        self.button.clicked.connect(self.showFileDialog)

    def showFileDialog(self):
        options = QFileDialog.Options()
        options |= QFileDialog.DontUseNativeDialog
        fileName, _ = QFileDialog.getOpenFileName(self, "Open File", "", "All Files (*);;Text Files (*.txt)", options=options)
        
        if fileName:
            print("Selected File:", fileName)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = FileDialogExample()
    ex.show()
    sys.exit(app.exec_())

在这个例子中,我们创建了一个继承自QMainWindow的窗口应用程序。窗口上有一个按钮,点击按钮会弹出文件选择框。点击文件选择框中的文件会将文件路径打印出来。

在showFileDialog函数中,我们使用了QFileDialog的getOpenFileName方法来获取选择的文件路径。getOpenFileName接受五个参数,分别为父窗口、对话框标题、默认打开的路径、文件过滤器,和可选参数。在本例中,我们指定过滤器为"All Files (*);;Text Files (*.txt)",可以选择所有类型的文件或者只能选择txt文件。

注意:由于使用的是PyQt4,这个例子在PyQt5中可能会有一些不兼容的问题。在PyQt5中,您可以使用QFileDialog的静态方法getOpenFileName来获取文件路径,并直接获取文件名称,而不需要使用元组来获取文件名称。

希望这个例子能够帮助您理解PyQt4.QtGui中文件选择框的用法和路径获取。