从 Qt 中的组合框获取串行连接的值

Getting the value from combobox's in Qt for serial connection

每当我尝试建立连接时,我都会遇到 Qt 的问题,它实际上从未从组合框中获取我的数据(例如端口名称和波特率),显然这是因为我没有 link他们很好。到目前为止我就是这样做的,好吧,它不起作用...

void MainWindow::openSerialPort()
{    
    serial.setPortName(ui->portBox->itemData(ui->portBox->currentIndex()));
    printf("%s \n", ui->portBox->itemData(ui->portBox->currentIndex()));
    printf("\n ------------ \n");
    serial.setBaudRate(ui->baudBox->currentIndex());
    printf("%d \n", ui->baudBox->itemData(ui->baudBox->currentIndex()));
//    serial.setDataBits();
...
}

有什么建议吗?


第二个问题:我是否正确地将项目添加到组合框中?

    ui->baudBox->addItem(QStringLiteral("38400"), QSerialPort::Baud38400);
    ui->baudBox->addItem(QStringLiteral("57600"), QSerialPort::Baud57600);
    ui->baudBox->addItem(QStringLiteral("115200"), QSerialPort::Baud115200);

QComboBox::currentData() return 您在将当前选定的项目添加到小部件时提供的 QVariant。要从组合框选择中获取用户数据作为串口波特率,请使用

serial.setBaudRate(ui->baudBox->currentData().toInt());