pyqt和pyside如何导入第三方绘图库pyqtgraph

pyqtgraph介绍

官网
强大的绘图工具,性能较比于matplotlab性能更高,支持三维、图像分析、简单图像处理模块。
在这里插入图片描述
在这里插入图片描述

效果展示

如何QtDesigner声明控件

由于pyqt和pyside为基础的控件库,pyqtgraph是在其基础上开发的绘图库。

使用pyqtgraph第三方库,需要在QtDesigner声明,流程如下:

  1. 本次使用的是PlotWidget,位于第三方库pyqtgraph/core.h下,其父类为GraphicsView,下面我们就使用父类GraphicsView提升为PlotWidget。打开Designer(D:\SoftWare\AnacondaNew\envs\pyqt\Scripts\pyside2-designer.exe,安装PysSide之后的Designer位置)
    在这里插入图片描述

  2. 右击移出的控件GraphicsView,点击 提升为
    在这里插入图片描述

总的来说,上述流程完成了声明的工作,相当于在文件中加入下面一句话。

from pyqtgraph/core import PlotWidget

加载第三方库控件

pyqt比较简单,直接加载UI文件就行,然后就可以访问控件对象。

from PyQt5.QtWidgets import QApplication
from PyQt5 import QtWidgets, uic

class Stock:

    def __init__(self):

        # PyQt5 直接加载ui文件
        # 因为 第三方控件通过promote的定义
        # 已经可以知道 控件类所在模块的路径
        self.ui = uic.loadUi("main.ui")

        hour = [1,2,3,4,5,6,7,8,9,10]
        temperature = [30,32,34,32,33,31,29,32,35,45]
        self.ui.historyPlot.plot(hour, temperature)

app = QApplication([])
stock = Stock()
stock.ui.show()
app.exec_()

PySide需要使用QUiLoader函数,注册第三方控件,然后就可以正常加载使用。

from PySide2.QtWidgets import QApplication
from PySide2.QtUiTools import QUiLoader
import pyqtgraph as pg

class Stock:

    def __init__(self):

        loader = QUiLoader()

        # pyside2 一定要 使用registerCustomWidget 
        # 来注册 ui文件中的第三方控件,这样加载的时候
        # loader才知道第三方控件对应的类,才能实例化对象
        loader.registerCustomWidget(pg.PlotWidget)
        self.ui = loader.load("main.ui")

        hour = [1,2,3,4,5,6,7,8,9,10]
        temperature = [30,32,34,32,33,31,29,32,35,45]

        # 通过控件名称 historyPlot,找到Qt designer设计的 控件
        self.ui.historyPlot.plot(hour,temperature)

app = QApplication([])
stock = Stock()
stock.ui.show()
app.exec_()
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一款跨平台的图形用户界面开发框架,提供了丰富的GUI控件和功能以及跨平台的能力。PyQtPySide是在Qt基础上开发的Python绑定,使得我们可以使用Python语言来编写Qt应用程序。 PyQtPySide提供了和Qt类似的功能和API,使得我们可以方便地在Python中使用Qt的各种特性,如窗口管理、布局管理器、事件处理和信号槽机制等。它们支持Qt的所有模块,因此可以利用Qt的强大功能开发出高度可定制的应用程序。 Custom Widgets是指自定义的用户界面部件,可以根据需求自己进行开发或者对现有的控件进行定制。在PyQtPySide中,我们可以使用Qt的功能来创建自定义的控件,通过继承已有的控件类来添加新的功能或者修改控件的外观和行为。这样可以满足特定需求并增加应用程序的交互性和美观性。 开发自定义的控件需要理解Qt的事件和绘图机制,掌握Qt提供的绘图功能和控件定制的技术。我们可以使用Qt的绘图API来绘制自定义的界面元素,并且可以通过事件和信号槽来实现控件的交互性。在PyQtPySide中,可以利用Python的特性和语法来更加方便地进行控件的开发和定制。 总之,Qt、PyQtPySide的结合可以帮助我们快速开发跨平台的应用程序,并且可以通过自定义控件来满足特定需求。这些工具和技术的使用可以大大提高应用程序的开发效率和灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值