QTableWidgetble自定义表头排序设置
一.介紹
??? 很多引用場景中,我們需要使用到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
總結
以上是生活随笔為你收集整理的QTableWidgetble自定义表头排序设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux基础——gcc编译、静态库与动
- 下一篇: 多地发钱鼓励生育,能刺激年轻人生娃吗