Qt không chạy event

Hiện tại, em đang làm qt kết nối COM port. Sau khi kết nối đọc data từ cổng COM. Dùng COM2 truyền data và COM1 đọc data. PP tiến hành dùng

  • Chương trình giả lập virtual serial port driver COM1 và COM2 liên kết với nhau.
  • Chương trình Proteus kết nối dùng để truyền data.
  • code qt:
    //initialize port
    serialport = new QSerialPort();

    // setting port
    serialport->setPortName("COM1");
    serialport->setBaudRate(QSerialPort::Baud9600);
    serialport->setDataBits(QSerialPort::Data8);
    serialport->setParity(QSerialPort::NoParity);
    serialport->setStopBits(QSerialPort::OneStop);
    serialport->setFlowControl(QSerialPort::NoFlowControl);

    QString s = "connect";
    if (serialport->open(QIODevice::ReadWrite))
    {
        qDebug() << s;
    }
    else
    {
        s = "Error";
        qDebug() << s;
    }

    connect(serialport, SIGNAL(readyRead()), this, SLOT(portRead()));

sự kiện portRead():

void MainWindow::portRead()
{
    QString s = "Received";
    qDebug() << s;
}

Cấu hình com trên proteus như hình.
signal/slot của Qt không thực hiện. Mọi người giúp đỡ!

Lệnh connect kia có đc gọi ở mainthread không nhỉ?

connect() em khởi tạo trong hàm khởi tạo mainwindows anh.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?