【pyqtgraph绘图】Qt速成课程
解读官方API-Qt速成课程
参考:http://www.pyqtgraph.org/documentation/qtcrashcourse.html
Qt速成课程
PyQtGraph广泛使用Qt来生成几乎所有的可视化输出和接口。Qt的文档编写得非常好,我们鼓励所有pyqtgraph开发人员熟悉它。
本节的目的是介绍使用Qt(使用PyQt或PySide)为pyqtgraph开发人员编程。
QWidgets和布局
Qt GUI几乎总是由几个基本组件组成:
- 一个窗口。这通常由QMainWindow提供,但请注意,如果窗口小部件没有父窗口,则只需调用widget.show() 即可在其窗口中显示所有QWidgets。
- 多个QWidget实例。如QPushButton,QLabel,QComboBox等。
- QLayout实例(可选,但建议有布局),它自动管理窗口小部件的位置,允许GUI可根据用户需要调整大小。
PyQtGraph通过提供自己的QWidget子类来嵌入到开发者已经用Qt、PyQt写好的GUI中
例:
from PyQt5.QtWidgets import QPushButton,QWidget,QApplication,QGridLayout,QListWidget,QLineEdit
import pyqtgraph as pg ## 初始化pyqt
app = QApplication([]) ## 定义顶级窗口部件来保存所有内容
w = QWidget() ## 创建一些小部件放在顶级窗口中
btn = QPushButton('press me')
text = QLineEdit('enter text')
listw = QListWidget()
plot = pg.PlotWidget() ## 创建网格布局以管理窗口小部件的大小和位置
layout = QGridLayout()
w.setLayout(layout) ## 将部件添加到布局中的适当位置
layout.addWidget(btn, 0, 0)
layout.addWidget(text, 1, 0)
layout.addWidget(listw, 2, 0)
layout.addWidget(plot, 0, 1, 3, 1) ## 将部件显示为新窗口
w.show()
## 启动pyqt事件循环
app.exec_()
可以使用Qt Designer以可视化拖拽方式设计更复杂的界面,
这样您只需将窗口小部件拖动到窗口中即可定义其外观。
命名约定
事实上,pyqtgraph中的每个类都是Qt提供的基类的扩展。在阅读文档时,请记住所有Qt的类都以字母“Q”开头,而pyqtgraph的类则不是。
在阅读任何类的方法时,查看使用哪些Qt基类和查看Qt文档 通常很有帮助。
Qt的大多数类定义了从常规方法中难以区分的信号。
由pyqtgraph定义的几乎所有信号表达都以'sig'开头,表示这些信号不是在Qt级别定义。
在大多数情况下,以“Widget”结尾的类是从QWidget继承的,因此可以用作Qt窗口中的GUI元素。
以'Item'结尾的类是QGraphicsItem的子类,只能在QGraphicsView实例中显示(例如GraphicsLayoutWidget或PlotWidget)。
信号,插槽和事件
[想要了解更多..请在pyqtgraph论坛上发帖请求,如果你想阅读更多]
Qt通过执行其事件循环来检测并响应用户交互。
- 事件循环中会发生什么?
- 我什么时候需要使用QApplication.exec_()?
- 我对事件循环执行有什么控制?(QApplication.processEvents)
GraphicsView和GraphicsItems
有关Qt GraphicsView架构的更多信息:http://qt-project.org/doc/qt-4.8/graphicsview.html
坐标系统和转换(Coordinate Systems and Transformations)
有关Qt GraphicsView中坐标系的更多信息:http://qt-project.org/doc/qt-4.8/graphicsview.html#the-graphics-view-coordinate-system
Mouse and Keyboard Input
QTimer, Multi-Threading
Multi-threading vs Multi-processing in Qt
【pyqtgraph绘图】Qt速成课程的更多相关文章
- 【pyqtgraph绘图】在pyqtgraph中绘图
解读pyqtgraph官方API-在pyqtgraph中绘图 参考: http://www.pyqtgraph.org/documentation/plotting.html 在pyqtgraph中绘 ...
- 【pyqtgraph绘图】如何使用pyqtgraph
解读官方API-如何使用pyqtgraph 这里有一些使用pyqtgraph的建议方法: 从交互式shell(python -i,ipython等) 从应用程序显示弹出窗口 在PyQt应用程序中嵌入小 ...
- 机器学习入门 - Google机器学习速成课程 - 笔记汇总
机器学习入门 - Google机器学习速成课程 https://www.cnblogs.com/anliven/p/6107783.html MLCC简介 前提条件和准备工作 完成课程的下一步 机器学 ...
- 机器学习入门 - Google的机器学习速成课程
1 - MLCC 通过机器学习,可以有效地解读数据的潜在含义,甚至可以改变思考问题的方式,使用统计信息而非逻辑推理来处理问题. Google的机器学习速成课程(MLCC,machine-learnin ...
- React + GraphQL 2020 速成课程
React + GraphQL 2020 速成课程 technologies React (to build our user interface) GraphQL (to get and chang ...
- 【pyqtgraph绘图】线条,填充和颜色
解读官方API-线条,填充和颜色 参考: http://www.pyqtgraph.org/documentation/style.html 线条,填充和颜色 Qt依靠其QColor,QPen和QBr ...
- 【pyqtgraph绘图】案例-动态的正余弦波形图
先看一个简单的小例子: 完整代码: import numpy as np import pyqtgraph as pg import sys from PyQt5.QtWidgets import Q ...
- 【pyqtgraph绘图】安装pyqtgraph
解读官方API-安装 安装 参考:http://www.pyqtgraph.org/documentation/installation.html 根据您的需要,有许多不同的方式来安装pyqtgrap ...
- 谷歌机器学习速成课程---降低损失 (Reducing Loss):随机梯度下降法
在梯度下降法中,批量指的是用于在单次迭代中计算梯度的样本总数.到目前为止,我们一直假定批量是指整个数据集.就 Google 的规模而言,数据集通常包含数十亿甚至数千亿个样本.此外,Google 数据集 ...
随机推荐
- IllegalArgumentException:@Body parameters cannot be used with form or multi-part encoding
使用retrofit时报错IllegalArgumentException:@Body parameters cannot be used with form or multi-part encodi ...
- spring boot 2整合swagger-ui
1.添加mvn依赖 修改pom.xml加入 <dependency> <groupId>io.springfox</groupId> <artifactId& ...
- ABBYY FineReader 12如何识别包含非常规符号的文本
ABBYY FineReader 12 是一款OCR图文识别软件,可快速方便地将扫描纸质文档.PDF文件和数码相机的图像转换成可编辑.可搜索的文本,有时文本中可能会包含一些非常规的符号,此时ABBYY ...
- 【01月22日】A股滚动市盈率PE最低排名
深康佳A(SZ000016) - 滚动市盈率PE:1.55 - 滚动市净率PB:1.03 - 滚动年化股息收益率:4.71% - - - 深康佳A(SZ000016)的历史市盈率走势图 华菱钢铁(SZ ...
- 仿迅雷播放器教程 -- 封装VLC (5)
虽然上个教程中10多行代码便做出了一个播放器,但如果加上快进快退等功能的话,代码都会挤在一团,阅读性很差,所以这个版本将对VLC进行封装,由于第一个教程已经进行了ffmpeg的封装,所以这里将 ...
- MySQL PARTITION 分区
MySQL HASH分区 http://www.cnblogs.com/chenmh/p/5644496.html RANGE分区:http://www.cnblogs.com/chenmh/p/56 ...
- IOS-一步一步教你自定义评分星级条RatingBar
本文转载至 http://blog.csdn.net/hanhailong726188/article/details/42344131 由于项目的需要,需要设计能评分.能显示评分数据的星级评分条,但 ...
- 使用jenkins pipeline,并发selenium测试 --- 你值得了解
一.契机 相信很多使用selenium进行UI测试,再对接jenkins时,都是简单的在jenkins上将命令输入就完事了. 但是,相信你一定会遇到以下问题: 1.你需要同时跑不同文件或不同类的用例, ...
- ThinkPHP框架 做个简单表单 添加数据例子__ACTION__ __SELF__
public function zhuCe(){//自定义zhuCe方法和zhuCe显示表里的__ACTiON__这个相互交接 //实现两个逻辑 //1,显示注册页面 //2.向数据库添加内容 //自 ...
- 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第二周测验【中英】
[中英][吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第二周测验 第2周测验 - 神经网络基础 神经元节点计算什么? [ ]神经元节点先计算激活函数,再计算线性函数(z = Wx + ...