#-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #----------------------------------- 导入软件包 ---------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------------------------- 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()