在PySide窗口中设置绝对位置画布matplotlib

时间:2014-07-08 19:38:56

标签: python matplotlib pyside

我有这种情况:

btn_1 = QtGui.QPushButton("1", self)
btn_1.move(0, 20)

btn_2 = QtGui.QPushButton("3", self)
btn_2.move(100, 20)

btn_3 = QtGui.QPushButton("3", self)
btn_3.move(200, 20)

fig = pyplot.figure()
#---plot things---#
canvas = FigureCanvas(fig)
self.setCentralWidget(canvas) #here is the problem

我从matplotlib获取一个画布并将其设置在我的PySide窗口中,但是当我这样做时,小部件画布会在按钮上方生成。我想设置画布的位置。

self是这个类的一个对象:

class myForm(QtGui.QMainWindow)

1 个答案:

答案 0 :(得分:1)

您应该使用QHBoxLayout()QVBoxLayout之类的布局类,但我认为您的类必须继承QWidget(请查看here以获取有关如何使用布局类的示例)。如果您想使用QMainWindow(具有自己的布局),则必须将按钮/操作放在QToolBarQDockBarQMenuBar中。见 docs QMainWindow的布局。