标签:Qt 自定义 int CTableWidgetIPItem strTset 表头 QTableWidgetble QTableWidgetItem 排序
一.介绍
很多引用场景中,我们需要使用到QTableWidget来显示内容,例如有时显示ip地址时点击排序时,默认是按照Qt字符串来排序的,那么如何按照自己的方式来排序呢?
二.使用
下面为一种简单的实现方法:
class CTableWidgetIPItem : public QObject, public QTableWidgetItem
{
Q_OBJECT
public:
CTableWidgetIPItem(QString strTset);
~CTableWidgetIPItem();
bool operator < (const QTableWidgetItem &other) const;
};
CTableWidgetIPItem::CTableWidgetIPItem(QString strTset)
:QTableWidgetItem(strTset)
{
}
CTableWidgetIPItem::~CTableWidgetIPItem()
{
}
bool CTableWidgetIPItem::operator<(const QTableWidgetItem &other) const
{
unsigned int uLeft = data(Qt::UserRole).toInt();
unsigned int uRight = other.data(Qt::UserRole).toInt();
if (uLeft >= uRight)
{
return false;
}
else
{
return true;
}
}
我们只需要从QTableWidgetItem继承而来进行,然后在我们的工程中添加使用:
unsigned int nNum = 1;///排序编号 根据自己来设定
CTableWidgetIPItem* pItem = new CTableWidgetIPItem("test"):
pItem->setData(Qt::UserRole, nNum);
不需要排序的可以直接调用QTableWidgetItem !!!
好啦 是不是觉得好简单!!!
原文链接:https://blog.csdn.net/weixin_38887743/article/details/117448488
标签:Qt,自定义,int,CTableWidgetIPItem,strTset,表头,QTableWidgetble,QTableWidgetItem,排序 来源: https://blog.csdn.net/ctrigger/article/details/120498051
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。