gpt4 book ai didi

qt - 在 Qt 中添加到空组合框时出错

转载 作者:行者123 更新时间:2023-12-02 11:06:09 26 4
gpt4 key购买 nike

我使用 Qt 5.2.0 (MSVC 2010)。

我在 Qt 中的表单中添加了一个 ComboBox。

然后我想用数字填充它:

for (i = 0; i < n; i++){
ui->tableCombo->addItem(QString::number(i));
}

当我在表单中添加第一个元素时,它成功添加了数字。但是当我将其留空时,它会抛出错误:

ASSERT failure in QVector::operator[]: "index out of range"

调试器显示该行中发生了错误。并且没有 QVector 跨线。

添加 qDebug() 后。

qDebug() << "readFileToStringList: msg10";
for (i = 0; i < n; i++){
qDebug() << "readFileToStringList: msg20 i = " << i;
ui->tableCombo->addItem(QString::number(i+1));
qDebug() << "readFileToStringList: msg30";
}
qDebug() << "readFileToStringList: msg40";

我得到了相同的结果

readFileToStringList: msg10 
readFileToStringList: msg20 i = 0
ASSERT failure in QVector<T>::operator[]: "index out of range", file C:\Qt\Qt5.2.0\5.2.0\mingw48_32\include/QtCore/qvector.h, line 369

最佳答案

我遇到了这个确切的问题,几个小时都无法解决。我意识到::addItem() 正在触发 indexChanged(int) 信号,我已将其连接到导致容器中出现超出范围错误的函数。

我想说这也可能是这里的问题,但我确信从那时起OP已经继续前进。对我来说,在插入新项目时调用 indexChanged 信号并不完全直观,因为它实际上并没有改变 currentIndex。

希望如果其他人遇到困难,这会对他们有所帮助!

关于qt - 在 Qt 中添加到空组合框时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22705902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com