Hello,

I need to make a visual widget that will update data that arrives very quickly from a hardware device. This will be for Windows, Linux, and Mac Basically you can think of it as very similar to a terminal displaying data arriving on a serial port. The data will be displayed as text at the bottom of the widget. When new data arrives, the old data will be scrolled up and the new data painted to the bottom row.

In standard Windows programming this is simple, when data arrives you just scroll the window and redraw the bottom line. When a paint messgae comes in redraw all the data. I'm wondering if in QT it's better to use a QPainter or go the OpenGL route or perhaps sometihng else. My biggest concern initially was a comment in the help indicating that on a Mac you can't paint the widget outside of the paint event. This could be a problem as the paint event would have to be called every time the data arrived instead of simply scrolling the window and painitng the new area. There will be many of these Widgets in the application (maybe a hundred or so) but only a handfull will be visible at a time (though non-visible ones will still be processing incoming data) so efficiency is very important. The data that arrives for each widget will be handled in it's own thread.

So what are my options here, pros cons, etc?

Thanks