Again: use the readyRead signal ? http://qt-project.org/doc/qt-4.8/qiodevice.html#readyRead
On 15 mars 2012, at 14:27, Riccardo Roasio wrote: > Sorry..so what you think i have do do? > > > > Il 15 marzo 2012 14:26, Samuel Gaist <samuel.ga...@edeltech.ch> ha scritto: >> I must say, I don't understand your use of QSerialPort. >> >> You are waiting on data coming from the serial port, aren't you ? >> So, why not just connect to the readyRead signal ? >> >> On 15 mars 2012, at 14:07, Riccardo Roasio wrote: >> >>> the serial port class is this one: >>> >>> http://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCwQFjAA&url=http%3A%2F%2Fgitorious.org%2Finbiza-labs%2Fqserialport&ei=8OhhT_vNGY6KhQeg6tieCA&usg=AFQjCNF7vwKcu_dJz8y-QE6ziYhoPe4uNw&sig2=adTbs9FuJPYZhrNXtnfALg >>> >>> it expect a EV_RXCHAR event on receiving something on the serial port >>> so it reimplements the QWidget event function: >>> >>> bool WinSerialPortEngine::event(QEvent *e) >>> { >>> // qDebug()<<"event "<<e<<" "<<e->type(); >>> bool ret = false; >>> if (e->type() == QEvent::WinEventAct) { >>> if (EV_ERR & m_currentMask & m_setMask) { >>> m_parent->canErrorNotification(); >>> ret = true; >>> } >>> >>> if (EV_RXCHAR & m_currentMask & m_setMask) >>> { >>> m_parent->canReadNotification(); >>> ret = true; >>> } >>> >>> //FIXME: This is why it does not work? >>> if (EV_TXEMPTY & m_currentMask & m_setMask) { >>> m_parent->canWriteNotification(); >>> ret = true; >>> } >>> } >>> else >>> { >>> ret = QWinEventNotifier::event(e); >>> } >>> >>> ::WaitCommEvent(m_descriptor, &m_currentMask, &m_ov); >>> return ret; >>> } >>> >>> the problem is that while receiving events like the >>> QEvent::NonClientAreaMouseButtonPres on the gui thread it stop >>> receivng EV_RXCHAR event on the serial port class >>> >>> >>> >>> Il 15 marzo 2012 12:53, Samuel Gaist <samuel.ga...@edeltech.ch> ha scritto: >>>> >>>> On 15 mars 2012, at 12:37, Riccardo Roasio wrote: >>>> >>>>> Hi, >>>>> >>>>> i have a program with : >>>>> >>>>> - a main thread >>>>> - a serial manager thread using Qserialport >>>>> >>>>> i noticed that if i move the main gui the EV_RXCHAR event is not fired >>>>> or cached... >>>>> >>>>> what's wrong? >>>>> >>>>> thanks, >>>>> Riccardo >>>>> _______________________________________________ >>>>> Interest mailing list >>>>> Interest@qt-project.org >>>>> http://lists.qt-project.org/mailman/listinfo/interest >>>> >>>> Hi, >>>> >>>> With so few information, we won't be really be able to help you. >>>> But here is a few questions: >>>> - How is your serial manager thread implemented ? (My guess: run >>>> reimplementation) >>>> - Do you have signals slots directly connected ? >>>> >>>> Hope this helps >>>> Samuel >>>> >>>> PS: >>>> Did you also read this article ? >>>> http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/ >>>> >>>> And there where a few discussions on the qt-nokia mailing list last year >>>> about threading, you might want to look for them >>>> >> _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest