我认为这里的答案非常简单,但我在Google中找不到。
我有一个QList<QSerialPortInfo>
,其中包含来自串行端口的所有信息,并且我想用所有端口名称填充组合框。很简单,不是吗?
问题是,(当然)组合框接受QList<QStrings>
,因此为了正确地将它们传递到组合框,我必须执行类似的操作
QList<QSerialPortInfo> allports = QSerialPortInfo::availablePorts();
ui->cmb_PortName->clear();
foreach(QSerialPortInfo pi, allports)
ui->cmb_PortName->addItem(pi.portName());
现在,我不知道我是否对C#中的lambda表达式感到困惑,但是我认为可以有某种方法来进行转换而无需逐项添加。有点像(我认为使用C#语法)
ui->cmb_PortName->addItems((allports) => allports.portName());
是否有类似的方法或最佳方法是像我一样通过foreach
?
最诚挚的问候