在pyqt4中显示matplotlib图表,怎么做到自动缩放?

发布于 2022-09-04 16:08:51 字数 577 浏览 17 评论 0

class StartShow(QtGui.QMainWindow):

def __init__(self, parent=None):
    super(QtGui.QWidget,self).__init__()
    self.ui = Ui_MainWindow()
    self.ui.setupUi(self)
    
    self.matparent = ShowParent()
    self.canvas = FigureCanvas(self.matparent.getFigure())
    self.canvas.setParent(self.ui.frameMtpshow)
    self.canvas.setSizePolicy(QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding)
  
  

在Frame中将matplotlib展示出来,虽然全都放在布局中,但是matplotlib的画布必须初始化大小才能显示,但当窗口最大化后虽然其他空间都可以自动缩放但matplotlib的画布大小是确定的,能设置根据窗口大小或者内容大小自动缩放吗?
求大神指点

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒绊 2022-09-11 16:08:51

碰到同样的问题,试过了很多次,找到了窍门:
1、创建一个widget,在widget中加上QVBoxLayout
2、创建你的canvas,注意其父本是widget,不是QVBoxLayout
3、在QVBoxLayout中调用addWidget把canvas加进去
(第一步也可以在designer中做好)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文