Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Qt on Android:QTableView不顯示選中虛框

Qt on Android:QTableView不顯示選中虛框

編輯:關於Android編程

在使用 QTableView 或 QTableWidget 時,有時我們不想要選中虛框,可以實現一個 ItemDelegate ,重寫 drawFocus() 和 drawCheck() 兩個虛函數,然後調用 QAbstractItemView 的 setItemDelegate() 把自定義的 itemDelegate 對象傳遞給 QTableView 即可。需要注意的是,QAbstractItemView 不會刪除你設置給它的 ItemDelegate ,需要開發者自己在合適的時候刪除它。

下面是一個示例, RowDelegate 的代碼:

#include 

class RowDelegate : public QItemDelegate
{
public:
    RowDelegate(QObject * parent = 0) :QItemDelegate(parent)
    {
    }

    virtual void drawFocus(QPainter *painter, const QStyleOptionViewItem &option,
                           const QRect &rect) const
    {
    }

    virtual void drawCheck(QPainter *painter, const QStyleOptionViewItem &option,
                           const QRect &rect, Qt::CheckState state) const
    {
    }
};

如你所見,RowDelegate 類的 drawFocus() 和 drawCheck() 嘛事不干,這樣就達到了目的。

對於 QListView 或 QListWidget ,使用上面的代碼也可以去掉選中虛框。



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved