python加载文件并显示文件内容到qtextedit上_PyQt5 加载图片和文本文件的实例

本文展示了如何使用PyQt5通过QFileDialog选择并加载图片和文本文件,将图片显示在QLabel中,文本内容放入QTextEdit。核心代码包括QFileDialog的使用,读取文件内容并设置到相应组件。
摘要由CSDN通过智能技术生成

首先我们来看一组效果

28631ceeb59668cec820da6d76ac1727.png

选择图片文本设置完以后

6cbd11dc6d2e29756bf561381ade282e.png

选择过程中

f8b9421c40f061aeedb1cebc0648727c.png

核心代码解释

# 这个函数是用来打开电脑的资源管理器选择照片用的

def loadFile(self):

print("load--file")

# QFileDialog就是系统对话框的那个类第一个参数是上下文,第二个参数是弹框的名字,第三个参数是开始打开的路径,第四个参数是需要的格式

fname, _ = QFileDialog.getOpenFileName(self, '选择图片', 'c:\\', 'Image files(*.jpg *.gif *.png)')

self.label.setPixmap(QPixmap(fname))

# 这个函数是打开文本选择器,加载文本的函数

PyQt是一个Python绑定库,用于集成Qt框架,提供了一套丰富的图形用户界面工具。QTextEditPyQt中的一个组件,它是一个富文本编辑器,可以用来展示文本内容,包括纯文本、HTML等。 如果你想实现在QTextEdit中实时显示`print()`的内容,你可以创建一个`QTextEdit`实例,并在一个线程中处理打印操作。这是因为直接在主线程里运行可能会阻塞界面更新,所以需要使用`QThread`来分离计算密集型的任务。 以下是一个简单的示例: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit from PyQt5.QtCore import Qt, QThread, pyqtSignal class PrintThread(QThread): text_signal = pyqtSignal(str) # 创建信号槽 def run(self): while True: line = "这是来自print的内容:" + str(print()) # 模拟print输出 self.text_signal.emit(line) # 发送信号到主线程 class MainWindow(QMainWindow): def __init__(self): super().__init__() self.text_edit = QTextEdit() self.text_edit.setReadOnly(True) self.setCentralWidget(self.text_edit) self.print_thread = PrintThread() self.print_thread.text_signal.connect(self.update_text) # 连接信号到槽 self.print_thread.start() def update_text(self, text): # 更新文本的方法 self.text_edit.append(text) if __name__ == '__main__': app = QApplication(sys.argv) main_win = MainWindow() main_win.show() sys.exit(app.exec_()) ``` 在这个例子中,`PrintThread`负责处理打印并发送数据到主线程,`MainWindow`的`update_text`方法接收并显示这些数据显示在`QTextEdit`中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值