pyqt实战日记4 利用dialog实现文件选择窗口

本文介绍如何在PyQT中通过代码实现文件选择对话框,因为在QT Designer中未提供直接操作。在QT中,文件选择通常通过Dialog完成,而非其他GUI中的input方式。
摘要由CSDN通过智能技术生成

该部分本来难度很低,仅涉及创建一个控件的问题,但在qt designer 中似乎并未提供类似的操作,只能通过代码实现。
具体逻辑如下:

		file_dialog = QFileDialog()
        file_dialog.setFileMode(QFileDialog.AnyFile)
        file_dialog.setFilter(QDir.Files)

        if file_dialog.exec_():
            file_names = file_
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你给出的代码片段是一个打开单个图片文件并在GUI界面上显示的函数。如果要修改代码以一次性打开五张图片,你需要在`open_image`函数中进行一些更改。 以下是一个修改后的代码,可以一次性打开五张图片并在GUI界面上显示: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout, QFileDialog from PyQt5.QtGui import QPixmap class ImageWidget(QWidget): def __init__(self, image_path): super().__init__() self.label = QLabel(self) pixmap = QPixmap(image_path) self.label.setPixmap(pixmap) layout = QVBoxLayout(self) layout.addWidget(self.label) class MainWindow(QWidget): def __init__(self): super().__init__() self.layout = QVBoxLayout(self) self.image_widgets = [] self.open_images() def open_images(self): file_dialog = QFileDialog() file_paths, _ = file_dialog.getOpenFileNames(self, "选择图片", "", "Image Files (*.png *.jpg *.jpeg)") for file_path in file_paths: self.display_image(file_path) def display_image(self, image_path): image_widget = ImageWidget(image_path) self.image_widgets.append(image_widget) self.layout.addWidget(image_widget) if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 这个代码中,我们新建了一个`MainWindow`类,它继承自`QWidget`。在`MainWindow`类的初始化方法中,我们创建了一个垂直布局,并创建了一个空列表`image_widgets`来存储所有打开的图片的`ImageWidget`实例。 我们也创建了一个新的`open_images`方法,它与之前的`open_image`方法相似,但它可以打开多个图片文件并显示它们。在`open_images`方法中,我们使用`getOpenFileNames`方法来获取多个文件的路径,然后对每个文件路径调用`display_image`方法来显示它们。 在`display_image`方法中,我们创建一个新的`ImageWidget`实例,将它添加到`image_widgets`列表中,并将它添加到`MainWindow`的垂直布局中。 最后,我们创建了一个`app`实例并将`MainWindow`实例显示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值