在QT中,foreach的用法如下:
foreach (var, container)
foreach可以将container容器内的值一一遍历。与for语句不同的是,foreach每次遍历将值放入var中,用一个变量名顺序遍历了容器中的每个元素。
如下代码:
QStringList mylist;
mylist<<"0000"<<"1111"<<"2222"<<"3333";
foreach (QString str, mylist) {
qDebug()<<str;
}
输出结果为:
"0000"
"1111"
"2222"
"3333"
在工程应用中,foreach应用很常见,例如在做有关串口的项目时,就可以通过foreach很方便地读取到PC端所有可用串口的名称。
代码如下:
mySerial=new QSerialPort(this);
QStringList PortList_names;
foreach(const QSerialPortInfo &info,QSerialPortInfo::availablePorts())
{
PortList_names+=info.portName();
}
ui->com_choose->addItems(PortList_names);
注:QSerialPortInfo是用来获取串口信息的类
将读取到的所有可用的串口名称写入QComboBox控件中显示。