• 4383阅读
  • 1回复

重载QSortFilterProxyModel::filterAcceptsRow调用失败?![已解决] [复制链接]

上一主题 下一主题
离线liuxu_lx7
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-09
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-08-15) —
  1. class QTypeComboProxyModel : public QSortFilterProxyModel
  2. {
  3.     Q_OBJECT
  4. public:
  5.     QTypeComboProxyModel(QWidget* parent = 0);
  6.     ~QTypeComboProxyModel();
  7. protected:
  8.     bool filterAcceptsRow(int source_row, const QModelIndex& source_parent);
  9. };
调用代码:
  1. QTypeComboProxyModel* pTypeComboProxyModel = new QTypeComboProxyModel;
  2.             pTypeComboProxyModel->setSourceModel(m_pTypeModel);
  3.             QComboBox* pCmb = new QComboBox(parent);
  4.             pCmb->setModel(pTypeComboProxyModel);
  5.             return pCmb;
仅这几句代码,在出发ComboBox下拉框时,filterAcceptsRow函数没有被调用(断点没进入)。
问:需要哪些必要命令,filterAcceptsRow才会进入呢?


离线liuxu_lx7
只看该作者 1楼 发表于: 2011-08-13
找到原因了,原来filterAcceptsRow函数是const 的! 重写的时候没有留意到。
快速回复
限100 字节
 
上一个 下一个