首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何让FigureCanvas在pyqt GUI中嵌入的matplotlib小部件中填充整个图形?

在PyQt GUI中嵌入FigureCanvas并使其填充整个图形,可以按照以下步骤进行操作:

  1. 导入所需的库和模块:
代码语言:txt
复制
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
  1. 创建一个自定义的QWidget类,用于承载FigureCanvas小部件:
代码语言:txt
复制
class MyWidget(QWidget):
    def __init__(self, parent=None):
        super(MyWidget, self).__init__(parent)
        self.figure = Figure()
        self.canvas = FigureCanvas(self.figure)
        layout = QVBoxLayout()
        layout.addWidget(self.canvas)
        self.setLayout(layout)
  1. 创建一个主窗口类,并在其中添加MyWidget小部件:
代码语言:txt
复制
class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setWindowTitle("Matplotlib in PyQt")
        self.setGeometry(100, 100, 800, 600)
        self.widget = MyWidget(self)
        self.setCentralWidget(self.widget)
  1. 创建一个绘图函数,在其中使用matplotlib绘制图形:
代码语言:txt
复制
def plot_graph():
    ax = widget.figure.add_subplot(111)
    ax.plot([1, 2, 3, 4, 5], [1, 4, 9, 16, 25])
    widget.canvas.draw()
  1. 在主程序中实例化QApplication和MainWindow,并显示窗口:
代码语言:txt
复制
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    plot_graph()
    sys.exit(app.exec_())

这样,FigureCanvas就会被嵌入到PyQt GUI的小部件中,并填充整个图形。

关于FigureCanvas、matplotlib和PyQt的更多信息,可以参考以下链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券