修改 QStringList SerialPort_Name; foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts()) { SerialPort_Name << info.portName()+':'+info.description(); serialDevice << info.portName(); } /* 添加到串口设备显示框 */ ui->comboBox_2->addItems(SerialPort_Name)修改为添加串口设备到显示框最后一栏;
时间: 2023-11-22 14:56:47 浏览: 153
修改如下:
```
QStringList SerialPort_Name;
foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
{
SerialPort_Name << info.portName()+':'+info.description();
serialDevice << info.portName();
}
/* 添加到串口设备显示框 */
ui->comboBox_2->addItem(SerialPort_Name.last());
```
这样修改后,只会将扫描到的最后一个串口设备添加到显示框的最后一栏。如果想添加所有扫描到的串口设备到显示框的最后一栏,可以将 `ui->comboBox_2->addItem(SerialPort_Name.last());` 改为 `ui->comboBox_2->addItems(SerialPort_Name);`。
相关问题
下面的代码是Qt中给QMultiMap<QString,QStringList>数据结构里面的相同的key去重 // 使用QSet去重 QMultiMap<QString, QStringList> uniqueMap; foreach(const QString& key, searchResults.uniqueKeys()) { QSet<QStringList> valuesSet; foreach(const QStringList& value, searchResults.values(key)) { valuesSet.insert(value); } uniqueMap.insert(key, valuesSet.toList()); } 但是 uniqueMap.insert(key, valuesSet.toList()); 这段代码报出以下错误信息: error: no matching function for call to 'QMultiMap<QString, QStringList>::insert(const QString&, QList<QStringList>)' 请如何解决,请给我修复后的完整代码
这个错误信息是因为`QMultiMap`的`insert`函数需要插入一个`QStringList`类型的值,而你插入了一个`QList<QStringList>`类型的值。
可以使用`valuesSet.toList()`将`QSet<QStringList>`类型的值转化为`QList<QStringList>`类型的值进行插入。
修复后的完整代码如下:
```
// 使用QSet去重
QMultiMap<QString, QStringList> uniqueMap;
foreach(const QString& key, searchResults.uniqueKeys()) {
QSet<QStringList> valuesSet;
foreach(const QStringList& value, searchResults.values(key)) {
valuesSet.insert(value);
}
uniqueMap.insert(key, valuesSet.toList());
}
```
mainmenu.cpp:5271:23: 'startDetached' is deprecated: Use QProcess::startDetached(const QString &program, const QStringList &arguments) instead :277:5: note: 'startDetached' has been explicitly marked deprecated here
这是一个编译器的警告,提示你使用了一个已经被标记为过时的函数startDetached。建议你使用QProcess::startDetached(const QString &program, const QStringList &arguments)函数来替代它。这样可以避免一些潜在的问题。你需要修改相关的代码,把startDetached替换为QProcess::startDetached函数。
阅读全文