65 lines
3.5 KiB
Python
65 lines
3.5 KiB
Python
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#----------------------------------- 导入软件包 ----------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
from PySide6.QtWidgets import QApplication, QMainWindow, QVBoxLayout
|
||
from PySide6.QtUiTools import QUiLoader
|
||
from PySide6.QtGui import QIcon
|
||
|
||
from matplotlib.backends.backend_qtagg import FigureCanvasQTAgg as FigureCanvas
|
||
from matplotlib.backends.backend_qtagg import NavigationToolbar2QT as NavigationToolbar
|
||
from matplotlib.figure import Figure
|
||
from matplotlib import pyplot as plt
|
||
plt.rcParams['font.sans-serif'] = ['SimSun'] # 使用宋体
|
||
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
|
||
|
||
from test_of_matplotlib import create_plot_with_draggable_points
|
||
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------- 创建窗口 --------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
#--------------------------------------------------------------------------------------------------------
|
||
# 先实例化 QUiLoader
|
||
uiLoader = QUiLoader()
|
||
|
||
class MyWindow(QMainWindow):
|
||
|
||
def __init__(self):
|
||
super().__init__()
|
||
# 加载 .ui 文件
|
||
self.ui = uiLoader.load('D://python_study//qt/test.ui')
|
||
|
||
# 初始化画布(在Graphics View中显示图表)
|
||
self.canvas = FigureCanvas(Figure())
|
||
self.toolbar = NavigationToolbar(self.canvas, self) # 添加导航工具栏
|
||
self.layout = QVBoxLayout(self.ui.graphicsView) # 假设控件命名为graphicsView
|
||
self.layout.addWidget(self.toolbar)
|
||
self.layout.addWidget(self.canvas)
|
||
|
||
|
||
# 连接按钮的点击事件
|
||
self.ui.button.clicked.connect(self.on_button_clicked)
|
||
|
||
def on_button_clicked(self):
|
||
# 调用绘图函数并在canvas中显示
|
||
create_plot_with_draggable_points(self.canvas)
|
||
|
||
|
||
|
||
if __name__ == '__main__':
|
||
app = QApplication([]) # QApplication 的实例化放在 QUiLoader 实例化之后
|
||
app.setWindowIcon(QIcon('logo.png')) # 加载 icon
|
||
window = MyWindow()
|
||
window.ui.show()
|
||
app.exec()
|