首页| 论坛| 消息

标题:QStyledItemDelegate代理疑问
作者:lwei24
日期:2021-02-20 14:40
内容:

各位大佬,请问
如下代码,自己写的代理,如何在第二列中插入文件名和该文件的默认图标呢?
void myItemDelegate2All::paint(QPainter * painter,const QStyleOptionViewItem & option,const QModelIndex & index) const
{
QStyleOptionViewItem viewOption(option);
viewOption.state &= ~QStyle::State_HasFocus;
myTableView2 *view = qobject_cast(viewOption.styleObject);
QTableView::SelectionBehavior behavior = view->selectionBehavior();
QModelIndex hoverIndex = view->hoverIndex();
if (!(option.state & QStyle::State_Selected) && behavior != QTableView::SelectItems)
{
if (behavior == QTableView::SelectRows && hoverIndex.row() == index.row())
viewOption.state |= QStyle::State_MouseOver;
if (behavior == QTableView::SelectColumns && hoverIndex.column() == index.column())
viewOption.state |= QStyle::State_MouseOver;
}
if (viewOption.state & QStyle::State_HasFocus)
{
viewOption.state = viewOption.state ^ QStyle::State_HasFocus;
}
if(viewOption.state & QStyle::State_MouseOver)
painter->fillRect(viewOption.rect, QColor(180,200,220));
QStyledItemDelegate::paint(painter, option, index);
if(index.isValid())
{
painter->save();
& ..

回复 发表
主题 版块