QTableWidget 自定义排序

简介: QTableWidget功能强大,可以在每个格子里添加自己的wiget部件。如果想对这些自己添加的widget进行排序有两种方法。

QTableWidget功能强大,可以在每个格子里添加自己的wiget部件。

如果想对这些自己添加的widget进行排序有两种方法。

一种是直接设置每个格子对应的QTableWidgetItem的值,因为QTableWidget默认是据QTableWidgetItem来排序,调用的比较函数是:

bool QTableWidgetItem::operator< ( const QTableWidgetItem & other ) const   [virtual]

 


貌似QTableWidget 是据字符串来排序的。所以设置 QTableWidget 中的text值时要注意。

 

第二种办法是从QTableWidget 中派生,重写比较函数。

把自己写的派生类添加到QTableWidget中。

void QTableWidget::setItem ( int row, int columnQTableWidgetItem * item )

补充,第二种方法未测试。不过应该可以实现。。

 

相关文章
|
索引
探索QTableWidget对单元格(QWidget/QTableWidgetItem)的内存管理[clearContents()]
1.clearContents() 会清除表格中的所有单元格内容,包括释放之前创建的QTableWidgetItem和通过 setCellWidget() 设置的 QWidget 对象,但是不指向nullptr并且是延时释放QWidget 的而QTableWidgetItem 立即释放; 2.使用 setItem 方法将一个 QTableWidgetItem 对象设置为表格中的一个单元格后,该对象的位置(即所在行的索引)不会改变。这意味着,如果之后将该对象设置为其他单元格,它的位置将保持不变; 3.而使用 setCellWidget 方法将一个QWidget对象设置单元格时,位置可能会改变
318 0
探索QTableWidget对单元格(QWidget/QTableWidgetItem)的内存管理[clearContents()]
|
Python
实现DataFrame的自定义排序
要实现DataFrame的自定义排序,可以使用pandas库中的sort_values()函数。首先,需要导入pandas库,然后创建一个DataFrame,接着使用sort_values()函数对指定列进行排序。
416 0
|
SQL 存储 开发框架
C#——List排序
C#——List排序
160 0
|
SQL
艾伟:Gridview自定义排序且显示上下箭头
实现功能:单击Gidview列名按该列升序或降序排列,且在排序列上显示向上来向下箭头示意图片         //设置Gridview的AllowSorting属性值为true,即允许排序        AllowSorting="True" OnSorting="gridview1...
992 0