在pyqt4中显示matplotlib图表,怎么做到自动缩放?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
碰到同样的问题,试过了很多次,找到了窍门:
1、创建一个widget,在widget中加上QVBoxLayout
2、创建你的canvas,注意其父本是widget,不是QVBoxLayout
3、在QVBoxLayout中调用addWidget把canvas加进去
(第一步也可以在designer中做好)