0
我想用qwtplot繪製圖形,就像Matlab中的座標軸一樣,這樣一個圓看起來像一個圓,而不像一個橢圓。QwtPlot plotLayout()。canvasRect()失敗
我還沒有找到像「axis equal」這樣的函數,或者錯過了一個函數? 所以我想寫我自己的功能。因此我需要繪圖區域的大小。我認爲「ployLayout()。canvasRect()」應該給我大小。 當我使用QtDesigner和UIC,工作正常,我得到的值,例如:
PyQt4.QtCore.QRect(11,0,458,412)
但是,如果我PROGRAMM我自己的GUI是做沒有工作,其結果是: PyQt4.QtCore.QRect()
這是我的代碼
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_())
誰能幫助我?
我使用Python 2.7,QT4和Qwt5。