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的画布大小是确定的,能设置根据窗口大小或者内容大小自动缩放吗?
求大神指点
碰到同样的问题,试过了很多次,找到了窍门:
1、创建一个widget,在widget中加上QVBoxLayout
2、创建你的canvas,注意其父本是widget,不是QVBoxLayout
3、在QVBoxLayout中调用addWidget把canvas加进去
(第一步也可以在designer中做好)