【发布时间】:2020-02-06 15:09:29
【问题描述】:
目前我有一个在按下按钮时调用的创建插槽。 Slot 函数需要从它上面的 QGridLayout 中的 ComboBoxes 中获取所有数据。在上面的项目中,并非所有项目都有 QComboBoxes。其中一些是 QLineEdit,另一些是 QLabel。我的 QgridLayout 叫做 ui.testgridLayout。
for (int i = 0; i < ui.testgridLayout->rowCount(); i++)
{
for (int j = 0; j < ui.testgridLayout->columnCount(); j++)
{
QLayoutItem *item= ui.testgridLayout->itemAtPosition(i, j);
if (item) {
if (strcmp(item->widget()->metaObject()->className(), "QComboBox")==0) {
QString objName= item->widget()->objectName();
QComboBox* cb =ui.testgridLayout->findChild<QComboBox*>(objName);
string text = cb->currentText().toLocal8Bit().constData();
}
}
}
}
目前这在 ConfigFileCreation.exe 中的 0x00007FFB107DCC8A (Qt5Widgets.dll) 处返回未处理的异常:0xC0000005:访问冲突读取位置 0x0000000000000008。任何帮助或建议将不胜感激。
【问题讨论】:
标签: c++ qt qcombobox qgridlayout