52matlab技术网站,matlab教程,matlab安装教程,matlab下载

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4662|回复: 1

pyqt5直接加载.ui文件嵌入pyqtgrah绘图GUI

[复制链接]

123

主题

207

帖子

2992

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2992
发表于 2020-9-11 19:01:50 | 显示全部楼层 |阅读模式
本帖最后由 matlab的旋律 于 2020-9-22 14:38 编辑
  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QMainWindow, QMessageBox
  3. from PyQt5 import QtGui
  4. from PyQt5 import uic
  5. import numpy as np

  6. class mainFunc():
  7.     '类的帮助信息'  # 类文档字符串
  8.     def __init__(self):
  9.         self.ui = uic.loadUi("testUI.ui")
  10.         self.ui.setWindowIcon(QtGui.QIcon("1.jpg"))

  11.         self.ui.begin_tag.setCheckable(True)
  12.         self.ui.begin_tag.clicked[bool].connect(self.plotFunc)

  13.     def plotFunc(self, pressed):
  14.         x = np.arange(0, 10, 0.2)
  15.         print(pressed)
  16.         if pressed:
  17.             y1 = np.sin(x)
  18.             y2 = np.cos(x)
  19.             self.ui.begin_tag.setFont(QtGui.QFont("Arial", 20))#修改开始控件字体
  20.         else:
  21.             y1 = np.sinh(x)
  22.             y2 = np.cosh(x)
  23.             self.ui.begin_tag.setFont(QtGui.QFont("Arial", 10))#修改开始控件字体

  24.         #画图前线清空
  25.         self.ui.sin_tag.clear()
  26.         self.ui.cos_tag.clear()

  27.         self.ui.sin_tag.plot(x, y1, pen='r', symbol='o')# 绘图
  28.         self.ui.cos_tag.plot(x, y2, pen='g', symbol='d')# 绘图
  29.         self.ui.sin_tag.setTitle('正弦图')# 设置图表标题
  30.         self.ui.cos_tag.setTitle('余弦图', color='r')# 设置图表标题
  31.         # 设置上下左右的label
  32.         self.ui.sin_tag.setLabel("left", "幅度")
  33.         self.ui.sin_tag.setLabel("bottom", "时间")
  34.         # 设置上下左右的label
  35.         self.ui.cos_tag.setLabel("left", "幅度")
  36.         self.ui.cos_tag.setLabel("bottom", "时间")

  37.         # 设置Y轴 刻度 范围
  38.         self.ui.sin_tag.setYRange(min=np.min(y1), # 最小值
  39.                           max=np.max(y1))  # 最大值
  40.         self.ui.cos_tag.setYRange(min=np.min(y2), # 最小值
  41.                           max=np.max(y2))  # 最大值

  42.         # 显示表格线
  43.         self.ui.sin_tag.showGrid(x=True, y=True)
  44.         self.ui.cos_tag.showGrid(x=True, y=True)

  45.         # 背景色
  46.         self.ui.sin_tag.setBackground('y')
  47.         self.ui.cos_tag.setBackground('k')


  48. if __name__ == '__main__':
  49.     app = QApplication(sys.argv)
  50.     ecgFig = mainFunc()
  51.     ecgFig.ui.show()
  52.     sys.exit(app.exec_())
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

123

主题

207

帖子

2992

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2992
 楼主| 发表于 2020-9-12 23:57:17 | 显示全部楼层
  1. self.ui.quit_tag.clicked.connect(self.ui.close)  # 点击按钮之后关闭窗口
复制代码
当然这里首先要创建QPushButton按钮quit_tag。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|52matlab技术网站 ( 粤ICP备14005920号-5 )

GMT+8, 2024-3-29 09:21 , Processed in 0.104017 second(s), 20 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表