【PySide6】PySide6后台更新数据进度提示

这篇具有很好参考价值的文章主要介绍了【PySide6】PySide6后台更新数据进度提示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pyside6 表格即时更新,# Python,pyqt,ui,python文章来源地址https://www.toymoban.com/news/detail-829304.html

from PySide6.QtWidgets import QApplication, QWidget, QMessageBox, QProgressBar, QPushButton
from PySide6.QtCore import QThread, Signal, Qt


class DataUpdater(QThread):
    """
    后台线程,模拟更新数据
    """
    update_progress = Signal(int)  # 定义信号,用于更新进度条
    update_success = Signal()  # 定义信号,用于更新成功后的操作

    def run(self):
        """
        线程执行函数,模拟更新数据
        """
        for i in range(101):
            self.update_progress.emit(i)  # 发送进度条信号,更新进度条
            self.msleep(50)  # 模拟耗时操作
            QApplication.processEvents()  # 处理消息队列,响应关闭事件
        self.update_success.emit()  # 发送更新成功信号


class MainWidget(QWidget):
    """
    主窗口,用于更新数据并显示进度条、等待框、更新成功消息框
    """
    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Data Updater')

        self.progress_bar = QProgressBar(self)
        self.progress_bar.setGeometry(50, 50, 200, 25)

        self.update_btn = QPushButton('Update Data', self)
        self.update_btn.setGeometry(50, 100, 100, 25)
        self.update_btn.clicked.connect(self.update_data)

        self.show()

    def update_data(self):
        self.wait_box = QMessageBox(self)
        self.wait_box.setWindowTitle('Updating Data')
        self.wait_box.setText('Please wait...')
        self.wait_box.setStandardButtons(QMessageBox.Close)
        self.wait_box.show()

        self.data_updater = DataUpdater(self)
        self.data_updater.update_progress.connect(self.update_progress_bar)
        self.data_updater.update_success.connect(self.show_update_success)
        self.data_updater.start()

    def update_progress_bar(self, value):
        self.progress_bar.setValue(value)

    def show_update_success(self):
        self.wait_box.close()
        success_box = QMessageBox(self)
        success_box.setWindowTitle('Update Success')
        success_box.setText('Data has been updated successfully.')
        success_box.exec()


if __name__ == '__main__':
    app = QApplication([])
    widget = MainWidget()
    widget.show()
    app.exec()

到了这里,关于【PySide6】PySide6后台更新数据进度提示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pyside6上位机开发

    ini文件

    2024年02月07日
    浏览(36)
  • pycharm添加pyside6插件

    前言: 在提到python的可视化界面时,很多朋友第一时间想到的可能是pyqt5,毕竟它在网络的知名度比较高,很多技术文章都用的是pyqt5,微智启工作室在最开始接触可视化界面的时候,也是接触的pyqt5,但是随着学习的深入,才直到pyqt5的许可制度限制比较高。 而pyside6的功能

    2024年04月26日
    浏览(21)
  • Pyside6 安装和简单界面开发

    对于Python的GUI开发来说,Python自带的可视化编程模块的功能较弱,PySide是跨平台应用程序框架Qt的Python绑定,Qt是跨平台C++图形可视化界面应用开发框架,自推出以来深受业界盛赞。PySide由Qt公司自己维护,允许用户在Python环境下利用Qt开发大型复杂GUI。用Python简洁的语法调用

    2024年02月07日
    浏览(32)
  • Python Qt PySide6简介

    自今天起开学学习教程,有网页介绍,有视频,非常的详细。 现将主要内容摘录如下: (结合自己的实际情况,略有增删和变动)(采用边实践边写的模式) 如果用  Python  语言开发  跨平台  的图形界面的程序,主要有3种选择: Tkinter 基于Tk的Python库,这是Python官方采用

    2024年02月14日
    浏览(34)
  • PySide6 QComboBox 组合下拉框

    QComboBox 组合下拉框 QComboBox控件是按钮和弹出式列表的结合,用于在很小的控件内为用户提供多个选项 组合框是一个显示当前项目的选择小部件,可以弹出可选择项目的列表。 组合框可以是可编辑的,允许用户修改列表中的每个项目。 QComboBox 除了显示可见下拉列表外,每个

    2024年02月15日
    浏览(79)
  • Pyside6在Pycharm下安装和使用

    目录 一:安装 二:使用 一:安装 打开Pycharm编辑器,file-setting里Python解释器,点击小+号,添加模块,搜索Pyside6,安装 安装报错,可能是默认的库安装超时,用其他的源 pip install Pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装成功 二:使用 建立一个窗口: import sys from PySide6.Q

    2024年01月23日
    浏览(43)
  • PyCharm下安装配置PySide6开发环境

    PyCharm下安装配置PySide6开发环境(Qt Designer、PyUIC和PyRCC) QtDesigner官网地址:https://build-system.fman.io/qt-designer-download pip install PySide6 配置Qt Designer 运行 Pycharm,Settings–Tools–External Tools 点击 +,添加 QtDesigner 添加 QtDesigner 名称:QtDesigner (新建) 程序:Pyside6-Designer的安装路径。W:

    2024年02月13日
    浏览(34)
  • 基于Kitti数据集的智能驾驶目标检测系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于Kitti数据集的智能驾驶目标检测系统可用于日常生活中检测与定位行人(Pedestrian)、面包车(Van)、坐着的人(Person Sitting)、汽车(Car)、卡车(Truck)、骑自行车的人(Cyclist)、有轨电车(Tram)以及其他目标(Misc),利用深度学习算法可实现图片、视频、摄像

    2024年02月16日
    浏览(28)
  • PySide6学习/教程/笔记(二):弹窗小页面

    注:本文示例都是从官方文档中找到的,有条件的可以去看一下。 首先,我们看一下,Qt应用最简单的结构是什么样。 一行一行解释。 前两行是导入需要使用的包。这个后面再讲。 app = QApplication(sys.argv) 这行代码创建了一个QApplication类的实例。首先什么是QApplication?回答这

    2024年02月02日
    浏览(33)
  • PySide6 Widgets基本小部件类--QWidget

    没有父小部件的小部件始终是一个独立的窗口(顶级小部件)。对于这些小部件,setWindowTitle() 和 setWindowIcon() 分别设置标题栏和图标。

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包