【问题标题】:Does QComboBox::count() include separators in the count?QComboBox::count() 是否在计数中包含分隔符?
【发布时间】:2015-08-13 21:18:05
【问题描述】:

如果我这样做:

QComboBox *cb = ...; 

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

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

【问题讨论】:

    标签: c++ qt count qcombobox


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      分隔符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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-23
        • 1970-01-01
        • 1970-01-01
        • 2017-03-07
        • 1970-01-01
        • 2018-06-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多