使用 Qt GUI 从所有可用的串口中选择
Selecting from all available serial ports using Qt GUI
我找不到我的问题的最终答案,所以我决定 post 在这个网站上提出我的第一个问题。我对编程还很陌生,现在已经使用 Qt 几个月了。
我的代码通过串行端口与微控制器通信,但可用端口因个人电脑而异。我正在显示代码可用的端口数;
qDebug() << "Number of serial ports:" << QSerialPortInfo::availablePorts().count();
我的问题是:如何显示所有可用端口的名称,例如 "COM 10, 17. 22, etc"
,然后在我的 GUI 中显示它们。我最终希望做的是有一个可以动态填充可用端口的组合框,我现在有一个在几个端口之间切换的组合框,但这些是对应于特定计算机的固定端口。
尝试这样的事情:
#include <QApplication>
#include <QWindow>
#include <QSerialPortInfo>
#include <QComboBox>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.resize(200,200);
w.show();
QComboBox box(&w);
Q_FOREACH(QSerialPortInfo port, QSerialPortInfo::availablePorts()) {
box.addItem(port.portName());
}
box.move(100 - box.width() / 2,100 - box.height() / 2);
box.show();
return a.exec();
}
该代码非常不言自明。
在qt中心找到相关答案,示例代码;
foreach (const QSerialPortInfo &serialPortInfo, QSerialPortInfo::availablePorts())
{
ui->comboBox->addItem(serialPortInfo.portName());
}
我找不到我的问题的最终答案,所以我决定 post 在这个网站上提出我的第一个问题。我对编程还很陌生,现在已经使用 Qt 几个月了。 我的代码通过串行端口与微控制器通信,但可用端口因个人电脑而异。我正在显示代码可用的端口数;
qDebug() << "Number of serial ports:" << QSerialPortInfo::availablePorts().count();
我的问题是:如何显示所有可用端口的名称,例如 "COM 10, 17. 22, etc"
,然后在我的 GUI 中显示它们。我最终希望做的是有一个可以动态填充可用端口的组合框,我现在有一个在几个端口之间切换的组合框,但这些是对应于特定计算机的固定端口。
尝试这样的事情:
#include <QApplication>
#include <QWindow>
#include <QSerialPortInfo>
#include <QComboBox>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.resize(200,200);
w.show();
QComboBox box(&w);
Q_FOREACH(QSerialPortInfo port, QSerialPortInfo::availablePorts()) {
box.addItem(port.portName());
}
box.move(100 - box.width() / 2,100 - box.height() / 2);
box.show();
return a.exec();
}
该代码非常不言自明。
在qt中心找到相关答案,示例代码;
foreach (const QSerialPortInfo &serialPortInfo, QSerialPortInfo::availablePorts())
{
ui->comboBox->addItem(serialPortInfo.portName());
}