[PyQt] Robot example
ceruleanblaze at gmail.com
Sun May 20 17:58:08 BST 2007
On Sunday 20 May 2007 17:46:46 Lieven Buts wrote:
> Greetings all,
> in order to learn about PyQt I have been trying to port
> the "drag-and-drop robot" example from the Qt 4.2 distribution
> to Python. My current version can be found at
> There are a number of issues that I haven't solved yet, and
> they are marked in the comments in the code.
> The most important ones are:
> 1) The QVariant system to pass color and image objects
> through the drag-and-drop mechanism. I can convert a QColor
> or QImage object to a QVariant, but I don't see the way
> to do the opposite (NOTES 1 and 3).
> 2) The C++ code uses
> "if (... || (qgraphicsitem_cast<RobotHead *>(this)) && ..."
> to test if a RobotPart object is an instance of the RobotHead subclass
> or not. I have cobbled some Python together to do the same test
> based on the __class__ attribute (NOTE 5), but it's not very elegant.
Use `isinstance(myObject, RobotHead)` instead
> 3) The animation does not work, and when the program exits, it
> prints the message "QObject::startTimer: QTimer can only be used with
> threads started with QThread". I guess it is necessary to explicitly
> create a QThread in Python, but my attempts so far have not succeeded.
I get the same message some time. It's QCanvasView related. It may be a PyQt
bug -- it hasn't caused any problems for me, though -- my animations tend to
work. I'd be interested if anyone has a fix!
> I'll continue looking into all these issues, but any suggestions
> would be very welcome.
More information about the PyQt