PyQt5在Qt Designer中添加的控件上显示图表
上一篇我介绍了一下如何在窗口上显示动态图表,但是这种是针对纯使用代码建立窗口界面的情况,如果是需要设计一个比较复杂的窗口,还是得需要用到Qt Designer创建ui文件!但在ui界面中拖拽的控件就无法使用上述的代码实现,所以这次给大家介绍一下如何让ui文件中的控件可以显示图表,很简单,往下看。
首先,需要在Qt Designer中创建一个主窗口,添加一个widget控件和一个按钮,如下图所示,同时把上篇的那个完整代码的py文件放到这个项目目录下,并命名为MatplotlibWidget。

然后在对象栏右键点击widget,选择Promote to,在弹出的如下图一的窗口中添加类名,就是之前的那个py文件名MatplotlibWidget,记得要和文件名一致,头文件也是,然后点击Add,就添加成功!如下图二所示,选中这个类名,然后点击右下角的Promote,就可以看到widget的类以及由原来的QWidget变成了MatplotlibWidget,见下图三。
最后把窗口布局一下,就可以把ui文件转换成py文件运行了,显示窗口的代码如下所示,直接加到这个文件下就行噜,省的再新建一个py文件,运行后就能看到上一篇绘制的动态图表了。
if __name__ == "__main__":
import sys
from PyQt5.QtWidgets import QApplication
app = QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
至于这个【打开】按钮也是可以运用上的,可以一开始设置不显示图表,点击【打开】按钮后才显示,代码如下:
# 这部分写在setupUi()函数下
# 让图表先不显示
self.widget.setVisible(False)
# 连接【打开】按钮
self.pushButton.clicked.connect(self.pushButton_Clicked)
# 这部分写在主窗口类中
# 设置【打开】按钮
def pushButton_Clicked(self):
# 设置甘特图可见
self.widget.setVisible(True)
可以看到一开始运行并没有显示图表,只有点击按钮后才会显示和上述结果一样的图表。大家记得只要保存好了绘制图表的那个py文件,然后使用上述方法就可以在ui文件中很便捷地添加自己想要的图表啦!
智能推荐
实战PyQt5: 023-初识Qt Designer
Qt Designer工具简介 在我们前面学习PyQt的过程中,UI界面都是直接通过代码来实现的,对于比较复杂的界面,这种方式效率不高,而且要预览UI界面的效果,需要运行代码才可以看到。在PyQt中可以使用Qt Designer来完成这一步的工作。 使用Qt Designer进行UI设计,可以实现视图和逻辑的分离,从而使开发更便捷。Qt Designer的操作方式十分灵活,通过拖曳的方式在窗口上放...
PyQt5安装与PyCharm配置Qt Designer
安装 安装好之后在我的python安装包文件夹下有这几个包 然后打开PyCharm Flie - Settings - Tools - External Tools Working directory: 如果Tool settings - Program 的可执行文件找不到在哪,可以 再到对应路径下去找,我这里的话是直接使用Everything搜的 右键名字复制完整路径和文件名就可以了 Every...
raw&assets&sdcard读取mp3文件的方式
Raw方式 assets SDcard 首先需要添加 静态请求权限 动态请求 playMnt的播放方法 如何在模拟器中添加音乐 详细代码参见 点击跳转...
猜你喜欢
微信小程序封装请求方法wx.request(OBJECT)
小程序写完也一段时间了,最近分享下装逼的技能吧,封装请求方法,不但高大上,而且使用简单。先说说小程序自带的请求吧! wx.request(OBJECT) 参数: 参数名 类型 必填 默认值 说明 url String 是 开发者服务器接口地址 data Object/String/ArrayBuffer 否 请求的参数 header Object 否 设置请求的 header,header 中不能...
【并行计算-CUDA开发】【视频开发】ffmpeg Nvidia硬件加速总结
2017年5月25日 0. 概述 FFmpeg可通过Nvidia的GPU进行加速,其中高层接口是通过Video Codec SDK来实现GPU资源的调用。Video Codec SDK包含完整的的高性能工具、源码及文档,支持,可以运行在Windows和Linux系统之上。从软件上来说,SDK包含两类硬件加速接口,用于编码加速的NVENCODE API和用于解码加速的NVDECODE API(之前被...
HTML简介及部分常用标签
一、HTML简介 1)HTML简介 HTML是⽤于创建⽹⻚的语⾔。我们通过使⽤HTML标记标签创建html⽂档来创建⽹⻚。 HTML代表超⽂ 本标记语⾔。 HTML是⼀种标记语⾔,它具有标记标签的集合。 HTML标签是由尖括号括起来的词,如 , 。标签通常成对出现,例如 和 。 ⼀对中的第⼀个标签是开始标签;第⼆个标签是结束标签。在上⾯的示例中, 是开始标签,⽽ 是结束标签。 我们还可以将开始标签...
05:最大值和最小值的差
原题链接 总时间限制: 1000ms 内存限制: 65536kB 描述 输出一个整数序列中最大的数和最小的数的差。 输入 第一行为M,表示整数个数,整数个数不会大于10000; 第二行为M个整数,以空格隔开,每个整数的绝对值不会大于10000。 输出 输出M个数中最大值和最小值的差。 样例输入 样例输出 源码...
java判断奇偶数注意点
如果让我们用java写一个方法来判断一个整数是奇数还是偶数,相信很多人很快能写出来,而其中可能就会有下面这种: 这样写有没有什么问题呢? 初步看,没什么问题,不过,真没问题吗?输入-1试试看: 结果为false诶,难道-1不是奇数?赶紧换成-3在试试,结果还是false。 究竟发生了什么,我们看看-1和-3分别与2求余是什么结果: 结果都是-1,这就要引出java的一个特性了,java求余结果与左...
