I am trying to build a PyQt4 application that uses veusz, but I am having
difficulties. I am a relative newbie to PyQt4 and Veusz, but here is a Hello
World that shows what I am trying to do.
#!/usr/bin/env python
# A hello world example of using veusz in a PyQt4 app.
import numpy
import sys
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication(sys.argv)
import veusz.windows.plotwindow
import veusz.document as document
from veusz.document.commandinterface import CommandInterface
class HelloMainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.statusBar().showMessage('Hello Veuz World!')
menubar = self.menuBar()
self.file_menu = menubar.addMenu('&File')
self.exit_action = QtGui.QAction(QtGui.QIcon('icons/exit.png'), '&Quit',
self)
self.exit_action.setShortcut('Ctrl+Q')
self.exit_action.setStatusTip('Exit application')
self.connect(self.exit_action, QtCore.SIGNAL('triggered()'),
QtCore.SLOT('close()'))
self.file_menu.addAction(self.exit_action)
self.document = document.Document()
self.plot = veusz.windows.plotwindow.PlotWindow(self.document, self)
self.setCentralWidget(self.plot)
self.interface = CommandInterface(self.document)
i = self.interface
i.To(i.Add('page'))
i.To(i.Add('graph'))
i.Add('xy', marker='tiehorz', MarkerFill__color='green')
# this stops intelligent axis extending
i.Set('x/autoExtend', False)
i.Set('x/autoExtendZero', False)
x = numpy.arange(0, 7., 0.05)
y = numpy.sin(x)
i.SetData('x', x)
i.SetData('y', y)
self.show()
main_window = HelloMainWindow()
sys.exit(app.exec_())
But, I get the following error
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/veusz/windows/plotwindow.py", line 666,
in slotTimeout
dpi = self.widgetdpi )
File "/usr/lib/python2.6/site-packages/veusz/document/doc.py", line 311, in
paintTo
self.basewidget.draw(painter, page)
File "/usr/lib/python2.6/site-packages/veusz/widgets/root.py", line 83, in
draw
page.draw( posn, painter )
File "/usr/lib/python2.6/site-packages/veusz/widgets/page.py", line 220, in
draw
parentposn)
File "/usr/lib/python2.6/site-packages/veusz/widgets/widget.py", line 296, in
draw
i.draw(bounds, painter, outerbounds=outerbounds)
File "/usr/lib/python2.6/site-packages/veusz/widgets/graph.py", line 162, in
draw
i.draw(bounds, painter, outerbounds=outerbounds)
File "/usr/lib/python2.6/site-packages/veusz/widgets/axis.py", line 878, in
draw
self._drawTickLabels(painter, coordticks, sign, texttorender)
File "/usr/lib/python2.6/site-packages/veusz/widgets/axis.py", line 614, in
_drawTickLabels
font = s.get('TickLabels').makeQFont(painter)
File "/usr/lib/python2.6/site-packages/veusz/setting/collections.py", line
229, in makeQFont
size = self.get('size').convertPts(painter)
File "/usr/lib/python2.6/site-packages/veusz/setting/setting.py", line 723, in
convertPts
return self.convert(painter) / painter.veusz_pixperpt
File "/usr/lib/python2.6/site-packages/veusz/setting/setting.py", line 716, in
convert
return self.convertDistance(painter, self.val)
File "/usr/lib/python2.6/site-packages/veusz/setting/setting.py", line 111,
in get
return self._val.resolve(self).get()
File "/usr/lib/python2.6/site-packages/veusz/setting/setting.py", line 111,
in get
return self._val.resolve(self).get()
File "/usr/lib/python2.6/site-packages/veusz/setting/reference.py", line 77,
in resolve
raise self.ResolveException()
ResolveException
_______________________________________________
Veusz-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/veusz-discuss