当前位置: 首页 > news >正文

《网站建设与维护》讲义wordpress调用友情链接

《网站建设与维护》讲义,wordpress调用友情链接,万能浏览器免费下载安装,提供龙岗网站建设0. 目录 PyQt学习记录01——加法计算器 PyQt学习记录02——串口助手 PyQt学习记录03——批量设置水印 1. 前言 众所周知的原因,Qt Designer(Qt设计师)的自带的控件十分有限,无法完全满足实际需求,所以我们需要通过一…

0. 目录

PyQt学习记录01——加法计算器
PyQt学习记录02——串口助手
PyQt学习记录03——批量设置水印

1. 前言

众所周知的原因,Qt Designer(Qt设计师)的自带的控件十分有限,无法完全满足实际需求,所以我们需要通过一些方法来载入自定义的控件,在此基础上,有提升法(Promotion)和插件法(Plugins)两类。详见此

其中插件法的目标就是为了实现类似原生控件类似的功能,可以直接在Qt设计师中直接调用,原则上来说是可以调用开源资源来实现,但是我尚未找到可以pyqt平台可使用的资源,所以本博文暂时先介绍使用提升法。

2. Ui界面

首先还是在设置中,将路径设置到工程文件夹路径,然后新建一个qt界面。新建一个widget
请添加图片描述
然后在这个这个新建的Widget点击右键——》提升为——》在弹出的窗口中输入以下参数。
请添加图片描述
首先在提升的类名称中输入:MplWidget,这时头文件会自动生成对应的小写的.h文件,确认基类的名称为QWidget,然后点击添加,最后点击提升

该博文流程更加具体,但是按照他的流程我无法复现,对流程有疑惑的可以参考该博文,但是最后两段对我很有帮助。

这时你就已经完成了一个widget类的提升,接下来我们的代码将对这个类进行操作。

3. 代码

首先还是通过uic方法将刚刚设置好的ui界面进行转译,这时会在你的转译的py文件中,产生一个引入代码

from mplwidget import MplWidget

所以,接下来新建一个名为mplwidget.py的文件,并且输入以下代码,用以创建一个MplWidget类,它是 matplotlib 和 PyQt 结合使用的一个自定义绘图小部件(widget)。它继承自 FigureCanvasQTAgg,使 matplotlib 的绘图能够嵌入到 PyQt 界面中。

# mplwidget.py
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figureclass MplWidget(FigureCanvas):def __init__(self, parent=None, width=5, height=4, dpi=100):# 创建一个 Figure 对象self.figure = Figure(figsize=(width, height), dpi=dpi)# 调用父类构造函数,将 Figure 传入super().__init__(self.figure)self.setParent(parent)

这样我们就将matplot与刚刚提升的widget匹配上了,接下来就是需要将这个mplwidget类引入到你实际运行的代码中,添加头文件

#常规操作
from PyQt5.QtCore import QIODevice
from PyQt5.QtSerialPort import QSerialPort, QSerialPortInfo
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QComboBox, QLineEdit, QPushButton
from PyQt5.uic import loadUi
from PyQt5.QtCore import QTime#核心代码
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout#这里的S1之前转译的ui文件
from S1 import Ui_MainWindow  # 导入 S1.py 里的 UI 类from mplwidget import MplWidget  # 我们刚刚创建的自定义 widget

然后你需要初始化

class SerialCommunicationApp(QMainWindow, Ui_MainWindow):def __init__(self):super().__init__()self.setupUi(self)self.ui = Ui_MainWindow()# 假设在 Qt Designer 中将提升后的对象名称设置为 "widget"# 如果对象名称不同,请使用对应的名称self.mplWidget = self.widget# 获取 Figure 对象以便绘图self.ax = self.mplWidget.figure.add_subplot(111)self.plot_data()

然后,创建一个plot_data()函数用于绘图。

    def plot_data(self):wavelengths = [415, 445, 480, 515, 555, 590, 630, 680, 740, 910]data = [[32, 28, 63, 239, 574, 684, 637, 309,1000, 80],[31, 27, 61, 233, 564, 675, 630, 306,1000, 78],[52, 35, 85, 678, 1000, 1000, 706, 315,1000, 120]]self.ax.clear()for i, spectrum in enumerate(data):self.ax.plot(wavelengths, spectrum, label=f"data {i+1}")self.ax.set_title("data")self.ax.set_xlabel("X")self.ax.set_ylabel("Y")self.ax.legend()self.mplWidget.draw()if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec_())

4. 运行结果

请添加图片描述

5. 参考资料

浅谈Qt Designer中使用自定义控件的提升法
【PyQt】在PyQt5的界面上集成matplotlib绘制的图像
【PyQt】PyQt5进阶——串口上位机及实时数据显示

http://www.dtcms.com/a/542917.html

相关文章:

  • 网站建设专员一定要会网站建设吗浙江建设信息港手机版
  • 网站程序结构2023免费网站推广
  • 区分 ​快照读(Snapshot Read)​​ 和 ​当前读(Current Read)​​
  • 衡州网站建设seo老年门户网站建设的意义
  • 西安在线网站陕西西安网站建设公司
  • 甘肃锦华建设集团网站wap门户网站源码
  • 黄金做空网站免费com域名注册网站
  • 网站ip地址 转向域名人才网站怎么做
  • Spring数据库连接控制全解析
  • 电子商务网站建设编码专门做当归的网站
  • 中国的门户网站有哪些百度申请qq号免费注册
  • 网站建设报价费用是多少dedecms手机网站模板安装教程
  • 英国T4学生签证 可以做网站吗苏州seo网站诊断
  • 什么是网页设计与网站建设公司快速建站
  • 个人网站设计介绍文字公司网站建设都需要什么内容
  • 网站建设公众号小程序属于什么自己做网站收费么
  • 东莞网站建设方案服务ppt模板免费下载百度云
  • 株洲公司做网站网站维护费计入什么科目
  • 智能云建站平台上海平台网站建设哪家好
  • 网站系统找不到指定的文件网站网页设计项目计划书
  • it网站建设方案移动宽带续费网上可以续费嘛
  • 做医院网站合作网站开发
  • 网站建设 小知识超低价的锦州网站建设
  • 网站建设怎么销售如何破解wordpress数据库
  • 怎样开发手机网站建设公司网站怎么写
  • 深圳科源建设集团有限公司网站泰安网站建设排行
  • 制作企业网站需要注意的事项网上商城网站建设报价
  • 电视盒子做网站服务器郑州网站建设最便宜
  • wordpress默认站点正能量软件网站免费入口
  • 基于python二手车价值评估系统的设计与实现