insertRow()
可以使用of插入的行数是否有限制QTableWidget Class
?
在我的程序中,我增加一个变量,比如 count,然后使用语句insertRow(count)
。如果count <= 500
. 如果count > 500
,代码停止运行。我在MSVS2013
.
编辑:添加代码
QXmlStreamReader xs(ba);
int i=-2;
QTableWidgetItem* titem=NULL;
QStringList qslHeaders;
map < QString, pair<QString, QString >> HeaderMap;
int map_index = 0;
int col_count_set = 0;
map<QString, pair<QString, QString>>::iterator iter;
while (!xs.atEnd())
{
bool flag = true;
++i;
if (xs.readNextStartElement() && xs.name().toString() == "ROW")
{
insertRow(i);
while (flag)
{
switch (xs.readNext())
{
case QXmlStreamReader::StartElement:
{
QString name = xs.name().toString();
//Insert data to map here
}
break;
case QXmlStreamReader::EndElement:
if (xs.name().toString() == "ROW")
{
map_index = 0;
if (HeaderMap.size()>0 && col_count_set == 0)
{
setColumnCount(HeaderMap.size());
col_count_set++;
}
iter = HeaderMap.begin();
while (iter != HeaderMap.end())
{
titem = new QTableWidgetItem(iter->second.first);
setItem(i, map_index, titem);
iter++;
map_index++;
}
flag = false;
}
break;
default:
break;
}
}
}
// WRITTEN FOR DEBUGGING
if (i > 501)
break;
// DEBUG
}
iter = HeaderMap.begin();
while (iter != HeaderMap.end())
{
if (!qslHeaders.contains(iter->second.second))
{
qslHeaders.append(iter->second.second);
}
iter++;
}
setHorizontalHeaderLabels(qslHeaders);