如何批量处理QT界面上的控件。
控件最好是按数字排序的,最好不要自定义。
void MainWindow::setUi(QString currency, QString num)
{
QList<QLabel*> labelList;
QList<QPushButton*> buttonList;
QList<QLineEdit*> lineEditList;
for (int i = 1; i < 9; i++) {
labelList << findChild<QLabel*>("label_" + QString::number(i));
buttonList << findChild<QPushButton*>("pushButton_" + QString::number(i));
lineEditList << findChild<QLineEdit*>("lineEdit_" + QString::number(i));
}
if (num.toInt() == 0 || num.toInt() >= 9) {
return;
}
qDebug() << "MainWindow::setUi--->currency:num=" << currency << ":" << num;
QString appPath = QCoreApplication::applicationDirPath() + "/currency/" + currency + ".png";
labelList.at(num.toInt() - 1)->setPixmap(QPixmap(appPath));
labelList.at(num.toInt() - 1)->setMaximumSize(157, 110);
labelList.at(num.toInt() - 1)->setScaledContents(true);
lineEditList.at(num.toInt() - 1)->setText(num);
buttonList.at(num.toInt() - 1)->setText(currency);
}
注意:
labelList .at(i)------------实现调用
labelList [i]----------------实现修改