接收QSerialPort信号的问题

时间:2014-05-16 17:41:14

标签: c++ qt qt4 qt-signals qtserialport

我正在尝试编写一个简单的程序来测试串口,但是无法让QSerialPort工作。我从未接收过QSerialPort对象的信号。我得到3个运行时警告/错误,我认为可能与它有关。

错误是:

QApplication::qAppName: Please instantiate the Qapplication object first
QSocketNotifier: Can only be used with threads started with QThread
QSocketNotifier: Can only be used with threads started with QThread

下面的代码片段是我可以重新创建错误的最小样本,它没有显示连接信号,但我认为这些错误是我没有看到它们的原因。如果我不调用open函数,则不会发生任何错误。

#include <QtGui/QApplication>
#include <QSerialPort>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    PowerBoardGUI w;
    w.show();

    QSerialPort* serial = new QSerialPort();


    serial->setPortName("/dev/ttyS1");
    serial->setBaudRate(QSerialPort::Baud9600);

    bool isOpen = serial->open(QIODevice::ReadWrite);
    serial->close();
    delete serial;


    return a.exec();
}

测试系统是Redhat 5.6。 QT 4.7.4的静态版本。最新版本的QSerialPort(今天由GIT构建)。

0 个答案:

没有答案