QComboBox :: count()是否包含计数中的分隔符?

时间:2015-08-13 21:18:05

标签: c++ qt count qcombobox

如果我这样做:

QComboBox *cb = ...; 

cb->clear();
cb->addItem(...);
cb->insertSeparator(1);
cb->addItem(...);

cb->count()会返回2还是3

2 个答案:

答案 0 :(得分:3)

分隔符countcount()将等于3。

#include <QtWidgets>

int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
   QComboBox cb;
   cb.addItem("Foo");
   cb.insertSeparator(1);
   cb.addItem("Bar");
   Q_ASSERT(cb.count() == 3);
   return 0;
}

答案 1 :(得分:3)

QComboBox::AddItem是在最后位置插入项目的快捷方式;默认插入方法是QComboBox::InsertItem,由AddItem调用并递增项目计数; QComboBox::InsertSeparator调用InsertItem所以,是的,分隔符计为项目