我想用qwtplot绘制图形,就像在Matlab中一样,轴相等,这样圆看起来像圆,而不是椭圆。在
我没有找到像“轴相等”这样的函数,还是遗漏了一个?
所以我想写我自己的函数。因此我需要绘图区域的大小。我想“polyLayout().canvasRect()”应该能给出大小。
当我使用QtDesigner和uic时,效果很好,我可以得到值,例如:
PyQt4。QtCore.qret(11,0,458,412)
但是,如果我自己编程,GUI将无法工作,结果是: PyQt4。QtCore.qret()
这是我的密码
import sys
from PyQt4 import QtCore, QtGui, Qt
import PyQt4.Qwt5 as Qwt
class mainWindow(QtGui.QDialog):
def __init__(self, numberOfObjects, parent=None):
QtGui.QDialog.__init__(self, parent)
okButton = QtGui.QPushButton(self.tr("OK"))
cancelButton = QtGui.QPushButton(self.tr("Cancel"))
self.connect(okButton, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("accept()"))
self.connect(cancelButton, QtCore.SIGNAL("clicked()"), self, QtCore.SLOT("reject()"))
self.testPlot = Qwt.QwtPlot(self)
buttonLayout = QtGui.QHBoxLayout()
buttonLayout.addStretch(1)
buttonLayout.addWidget(okButton)
buttonLayout.addWidget(cancelButton)
mainLayout = QtGui.QVBoxLayout()
mainLayout.addWidget(self.testPlot)
mainLayout.addLayout(buttonLayout)
self.setLayout(mainLayout)
self.resize(450, 250)
cr = self.testPlot.plotLayout().canvasRect()
print cr
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
win = mainWindow(0)
sys.exit(win.exec_())
有人能帮我吗?
我使用python2.7、QT4和Qwt5。在
不知道Python绑定,但是qwt5.2提供了一个类QwtPlotRescaler,它提供了类似“axis equal”功能。在
在qwt6.1中,您可以找到rescaler示例,它展示了如何使用它。在
相关问题 更多 >
编程相关推荐