【发布时间】:2015-08-13 21:18:05
【问题描述】:
如果我这样做:
QComboBox *cb = ...;
cb->clear();
cb->addItem(...);
cb->insertSeparator(1);
cb->addItem(...);
cb->count() 会返回2 还是3?
【问题讨论】:
如果我这样做:
QComboBox *cb = ...;
cb->clear();
cb->addItem(...);
cb->insertSeparator(1);
cb->addItem(...);
cb->count() 会返回2 还是3?
【问题讨论】:
QComboBox::AddItem 是在最后一个位置插入项目的快捷方式;默认插入方法是QComboBox::InsertItem,由AddItem 调用并增加项目计数; QComboBox::InsertSeparator 调用 InsertItem 所以,是的,分隔符算作一个项目
【讨论】:
分隔符count。 count() 将等于 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;
}
【讨论】: