日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

QTableWidgetble自定义表头排序设置

發(fā)布時(shí)間:2025/5/22 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QTableWidgetble自定义表头排序设置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一.介紹

??? 很多引用場景中,我們需要使用到QTableWidget來顯示內(nèi)容,例如有時(shí)顯示ip地址時(shí)點(diǎn)擊排序時(shí),默認(rèn)是按照Qt字符串來排序的,那么如何按照自己的方式來排序呢?
二.使用

下面為一種簡單的實(shí)現(xiàn)方法:

??? 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繼承而來進(jìn)行,然后在我們的工程中添加使用:

??? unsigned int nNum = 1;///排序編號 根據(jù)自己來設(shè)定
??? CTableWidgetIPItem* pItem = new CTableWidgetIPItem("test"):
??? pItem->setData(Qt::UserRole, nNum);

不需要排序的可以直接調(diào)用QTableWidgetItem !!!

好啦 是不是覺得好簡單!!!

原文鏈接:https://blog.csdn.net/weixin_38887743/article/details/117448488

總結(jié)

以上是生活随笔為你收集整理的QTableWidgetble自定义表头排序设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。