QT 自己畫單元格 QStyledItemDelegate
1.建立繼承QStyledItemDelegate的類。
ScreenTreeWidgetItemDelegate::ScreenTreeWidgetItemDelegate(ScreenTreeWidget *parent):
QStyledItemDelegate(parent),
m_handler(parent)
{
}
2. 在建立的 類中實現paint函式,所有單元格的畫的內容都在paint函式裡來畫
void ScreenTreeWidgetItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { if(!index.data(Qt::UserRole).toBool()) return; QRect rect = option.rect; rect.setHeight(rect.height()-1); painter->fillRect(rect, QColor(39,44,60)); painter->setPen(Qt::white); QTextOption op; op.setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); painter->drawText(option.rect, index.data(Qt::DisplayRole).toString(), op); QRect iconRect(10,option.rect.y()+(option.rect.height()-16)/2,16,16); if(m_handler->isExpanded(index)) { if(option.state & QStyle::State_MouseOver) { QImage img(":/image/open_hover"); painter->drawImage(iconRect, img, img.rect()); } else { QImage img(":/image/open"); painter->drawImage(iconRect, img, img.rect()); } } else { if(option.state & QStyle::State_MouseOver) { QImage img(":/image/close_hover"); painter->drawImage(iconRect, img, img.rect()); } else { QImage img(":/image/close"); painter->drawImage(iconRect, img, img.rect()); } } }
3.使用,在使用類中設定
setItemDelegate(new ScreenTreeWidgetItemDelegate(this));
相關推薦
QT 自己畫單元格 QStyledItemDelegate
1.建立繼承QStyledItemDelegate的類。ScreenTreeWidgetItemDelegate::ScreenTreeWidgetItemDelegate(ScreenTreeWidg
Qt中向單元格中寫入日期資料
第一種,用QAxObject來實現,主要用單元格的屬性NumberFormatLocal,程式碼如下 QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); QAxObject
C# DataGridView單元格畫斜線
功能要求:不符合條件的單元格使用斜線形式表現出來。 1、定義兩個變數,一個是儲存單元格位置的陣列,一個是Graphics 變數 Graphics gdi; List<DataGridViewCell> pathList = new List<DataGridViewCell&
Qt Model/View view單元格值改變其相應的背景顏色也變
只需要在 Model類中的 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; 方法中進行判斷 設定顏色 if (Qt::BackgroundColorRole == role)
QT QTableView用法小結(設定單元格字型顏色,文字字型...)
這幾天在公司做關於衰減開關的上位機,用到很多表格,其中表格基本上都是用QTableView進行編寫。為了防止以後忘記,同時也給後續的同學一點學習建議,特此寫下這篇部落格。 QTableView常用於實現資料的表格顯示。下面我們如何按步驟實現學生資訊表格:一 新增表頭
NPOI操作Excel,NPOI畫較複雜表格和設定其單元格格式
在最近的專案中,又使用了NPOI把資料匯出到Excel,發現新版的使用方法和舊版的還是有些區別,而且貌似新版NPOI功能更強大了,在這個專案裡面,主要遇到了兩個問題,最後成功解決了,那麼下面的也就是列出了部分程式碼,程式碼中列出瞭如何解決如下問題:
QT MVC 中合併單元格處理
QT中使用QTableView/QTableModel時合併單元格的處理 擴充套件 QTableModel/QAbstractItemModel 在單元格屬性中儲存合併資訊,我使用Qt::UserRole屬性,使用QPoint儲存合併的範圍。 擴充套件 QTableView
Qt實現表格控制元件-支援多級列表頭、多級行表頭、單元格合併、字型設定等
目錄 一、概述 二、效果展示 三、定製表頭 1、重寫資料來源 2、重寫QHeaderView 四、設定屬性 五、相關文章
Qt高仿Excel表格元件-支援凍結列、凍結行、內容自適應和合並單元格
目錄 一、概述 二、效果展示 三、實現思路 1、凍結行、凍結列 2、行高自適應 3、螞蟻線 四、測試程式碼 1、新增表格資料
gridControl單元格的值隨另一個單元格值的改變而改變
pre try () 改變 ssa txt 重要 expr 另一個 private void grvDetail_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedE
DataGridView使用技巧十:單元格表示值的自定義
mes rgs bject 設定 format ebo cep send || 通過CellFormatting事件,可以自定義單元格的表示值。(比如:值為Error的時候,單元格被設定為紅色) 示例: 1 private void dgv_Users_CellForm
POI對Excel單元格進行顏色設置
dex .so nbsp set exceptio except www span 單元格 POI對Excel單元格進行顏色設置 學習了:http://www.myexception.cn/program/1932587.html HSSFWorkbook workboo
NPOI之Excel——合並單元格、設置樣式、輸入公式
images post nbsp size 字體 進行 分享 blog code NPOI之Excel——合並單元格、設置樣式、輸入公式 首先建立一個空白的工作簿用作測試,並在其中建立空白工作表,在表中建立空白行,在行中建立單元格,並填入內容: //建立空白工
UIView加入手勢 然後UITableView 加入進這個View 導致UITableView 的單元格點擊事件無效
wce 解決 objc ace seq ins dispose log fse #import "ViewController.h" @interface ViewController ()<UITableViewDataSource,UITableViewD
POI以SAX方式解析Excel2007大文件(包含空單元格的處理) Java生成CSV文件實例詳解
arraylist api csdn false gif pac apache all top http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyl
【原創】datagridview動態綁定contextmenustrip,並復制單元格數據
event args oar cells ren .get add cell ntc public class DGVCopy { public DataGridView DataGridViewCopy { get; set; }
在EXCEL中如何讓一列數字變成文本格式?就是想讓單元格的左上角變一個綠綠的?
excel image 一個 splay wid 宋體 文本格式 margin -1 如何在EXCEL中如何讓一列數字變成文本格式?就是想讓單元格的左上角變一個綠綠的? 解決方案:將整列單元格格式設為文本,然後,選中該列,數據--分列--完成 詳細步驟: (1)選中1行或者
Ext grid中單元格編輯,editor為combobox時用法
.com clas ont con reat back trap hang style { header: ‘TO_PTN_NM‘, dataIndex: "TO_PTN_NM", sortable: true, rend
Extjs grid 單元格編輯
code col null checkbox creat true 單元格編輯 source tex 實現grid勾選後出現編輯按鈕,通過增加一個字段checked來控制 事件如下: selectionchange: function (thi, sel
Datatables js 復雜表頭 合並單元格
after spa llb mat target font com sco datatable x →Datatables官網← x 項目中用到的Table都是用Datatables插件來搞得; 以前都是生成一般性的table; 近期要生成一些復雜表頭,合並單元格之類的;