【发布时间】:2018-08-16 19:51:35
【问题描述】:
我正在尝试将小部件大小调整为图形大小。由于某种原因,画布和小部件的大小没有改变。我尝试设置容器小部件和画布的 SizePolicy,结果相同。
import sys
import matplotlib.pyplot as plt
from PyQt4 import QtGui
class CanvasOnWidget(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self._layout = QtGui.QVBoxLayout(self)
self._fig = plt.figure()
self._layout.addWidget(self._fig.canvas)
plt.plot(range(10),range(10))
self._fig.canvas.mpl_connect('button_press_event', self._resize)
def _resize(self, event):
w,h = self._fig.get_size_inches()
if event.button == 1: # left click
h-=1
elif event.button == 3: # right click
h+=1
self._fig.set_size_inches(w, h, forward=True)
self._fig.canvas.draw()
self._fig.canvas.flush_events()
print self.size()
print self._fig.canvas.size()
print self._fig.get_size_inches()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
main = CanvasOnWidget()
main.show()
sys.exit(app.exec_())
【问题讨论】:
标签: python user-interface matplotlib pyqt4