-
Notifications
You must be signed in to change notification settings - Fork 9
QTableView, which can sort by multiple columns.
License
dimkanovikov/MultisortTableView
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
MultisortTableView is a Qt widget inherits from QTableView, which can sort table by miltiple columns. To sort data their use AlphanumSortProxyModel inherits from QSortFilterProxyModel and sort data by alphanum algorithm (for more information about algorithm see http://www.davekoelle.com/alphanum.html). To use MulrisortTableView in your project next files needed to be include: AlphanumComparer.h - comparer, which use alphanum alghoritm to compare values; AlphanumSortProxyModel.h - proxy model, that used to sort data in TableView with alphanum alghoritm; ColumnsSorter.h - helper, which strore information about sorted columns; MultisortTableView.h, MultisortTableView.cpp - TableView, which used ColumnsSorter class and AplhanumSortProxyModel to sort data by multiple columns. MultisortTableView add two functions to QTableView API: void setSortIcons( QIcon ascIcon, QIcon descIcon ) - set icons of sorting order (by default used QStyle::SP_ArrowUp and QStyle::SP_ArrowDown icons); void setModifier ( Qt::KeyboardModifier modifier ) - set modifier to handling multicolumn sorting (by default used ControlModifier). How to use: // Create a table model QSqlTableModel *users = new QSqlTableModel; users->setTable( "users" ); users->select( ); // Create and customize widget MultisortTableView tableView; tableView.setModifier( Qt::ShiftModifier ); tableView.setSortingEnabled( true ); tableView.setSortIcons( QIcon(":/icons/bullet_arrow_up.png"), QIcon(":/icons/bullet_arrow_down.png") ); tableView.setSelectionBehavior( QAbstractItemView::SelectRows ); tableView.setModel( users ); tableView.show();
About
QTableView, which can sort by multiple columns.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published