View Full Version : QSortFilterProxyModel with QComboBox
h123
10th June 2009, 12:31
Hi,
Can you please let me know how to use QSortFilterProxyModel with QComboBox, for hiding or showing any item in combobox.
Thank you in advance.
3dch
10th June 2009, 20:16
There's no direct relation between QComboBox and QSortFilterProxyModel.
QComboBox can serve as an item delegate in an item view (QTreeView, QTableView) to give the user a choice for data entry.
You will find more about item delegates in the Qt documentation.
Just to give an idea how it works. If the item delegate (in thie example a class with name "IemDelegate") is registered with a view the "createEditor" method is called from the view when needed to give user the option to enter a value from the combo box:
QWidget* ItemDelegate::createEditor(QWidget* parent,
const QStyleOptionViewItem& option,
const QModelIndex& index) const
{
QComboBox* editor = new QComboBox(parent);
editor->addItem("Entry 1");
editor->addItem("Entry 2");
editor->addItem("Entry 3");
return editor;
}
Since the "createEditor" method gets the QModelIndex for the data to be edited you can access the related model if really necessary:
index.model();
If your view has a QSortFilterProxyModel attached then the model returned above is exactly this.
Regards
Ernst
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.