从 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());
每当我尝试建立连接时,我都会遇到 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());