【Python】Pyside2 可视化实现:每秒复制源文件一行到目标文件并打印日志

本文介绍了一个Python项目中如何使用线程每秒生成一行数据,避免主界面卡顿,具体涉及使用openpyxl处理Excel文件,以及在Qt应用程序中实现文件选择、数据读取和实时复制功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

博主在某个项目中,需要模拟每秒钟生成一行数据,所以有了该博客的想法,其中有线程的内容,为了防止主界面卡住

效果:

在这里插入图片描述

代码:

import sys
import threading
import time

import openpyxl
import pandas as pd
from PySide2.QtWidgets import QApplication, QWidget, QFileDialog
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile, QIODevice

sourceFilePath = ""     # 源文件路径
targetFilePath = ""     # 目标文件路径
source_data = None      # 源文件数据


class MyWindow:
    def __init__(self):
        # 从文件中加载UI定义
        self.load_ui()
        # 绑定事件
        # 给 选择源文件 按钮 绑定事件
        self.ui.btn_selectSourceFile.clicked.connect(self.click_selectSourceFile)
        # 给 选择目标文件 按钮 绑定事件
        self.ui.btn_selectTargetFile.clicked.connect(self.click_selectTargetFile)
        # 给 开始复制 按钮 绑定事件
        self.ui.btn_runCopy.clicked.connect(self.click_runCopy)
        # 连接文本编辑器的文本变化信号到滚动到底部的槽
        self.ui.textEdit_log.textChanged.connect(self.scroll_to_bottom)

    def load_ui(self):
        # 从文件中加载UI定义
        ui_file_name = 'UI/WriteMain.ui'
        ui_file = QFile(ui_file_name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值