首页 > 其他分享 >QStyledItemDelegate 和QTreeView实现鼠标hover消息

QStyledItemDelegate 和QTreeView实现鼠标hover消息

时间:2024-08-07 17:16:17浏览次数:12  
标签:index hover option QTreeView strType ret model QStyledItemDelegate event

1.QTreeView设置属性mousetracking和tablettracing

 

重写QStyledItemDelegate类,重写函数

bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index);

这个函数里可以处理鼠标hover和点击事件;

bool TreeTaskDelegate::editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index)
{
    //QMouseEvent *pEvent = static_cast<QMouseEvent *> (event);
    //m_mousePoint = pEvent->pos();

    bool ret = false;
    // 还原鼠标样式
    QApplication::restoreOverrideCursor();

    QVariantMap var = index.data(Qt::UserRole).toMap();
    if (var.contains("type"))
    {
        QString strType = var.value("type").toString();
        if (strType == "0")
        {
            ret=TriggerCase(event, model, option,index);
        }
        else if (strType == "1")
        {
            ret=TriggerFolder(event, model, option, index);
        }
        else if (strType == "3")
        {
            ret=TriggerCamera(event, model, option, index);
        }
        else if (strType == "2")
        {
            ret=TriggerVideo(event, model, option, index);
        }
    }
    return QStyledItemDelegate::editorEvent(event, model, option, index);
}

 

标签:index,hover,option,QTreeView,strType,ret,model,QStyledItemDelegate,event
From: https://www.cnblogs.com/bclshuai/p/18347477

相关文章

  • html+css 实现hover边框彩色流动
    前言:哈喽,大家好,今天给大家分享html+css绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • Qt QTtoolButton 鼠标移动到按钮上时,弹出菜单后,按钮的hover状态无法恢复的问题
    需求:QTtoolButton 鼠标移到按钮上时,弹窗菜单,并且点击菜单或者其他地方,菜单关闭后,按钮的hover状态需要恢复原状。1.创建按钮和菜单,并安装事件过滤器m_Menu=newQMenu();m_Menu->addAction(ui->action22);m_Menu->installEventFilter(this);m_ToolButton=newQToolButto......
  • QTreeView 样式设置以及Checkbox复选框样式设置
    这种样式设置如下QTreeView{background:#303033;font-size:16px;color:rgba(255,255,255,1);border:0px;}QTreeView::item{background:#303033;height:40px;}QTreeView::branch{background:#303033;}QTreeView::item:hover{......
  • hover元素A改变 多种 元素B的样式
    1)hover元素A改变元素A的子元素B0(.elA:hover.elB0{})<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"......
  • Oracle 11g dg switchover切换操作流程
    主库切换为物理备库查看主库的状态--获取/确认主库的状态信息以及保护模式SQL> set linesize 720SQL> col name for a10SQL> col open_mode for a10SQL> col database_role for a14SQL> col switchover_status for a16SQL> col force_logging for a8SQ......
  • Qt QTreeView 常见节点操作
    QTreeView作为项目最经常使用的空间,常用接口和操作必须熟悉熟悉在熟悉!!!1、节点遍历1voidParamSettingDlg::GetNode()2{3for(inti=0;i<model->rowCount();i++)4{5QStandardItem*item=model->item(i);67qDebug()<<"item......
  • 【winform】ListBox如何给item项添加hover
    1、绑定move事件listBox1.MouseMove+=newMouseEventHandler(listBox_MouseMove);2、编写代码privatevoidlistBox_MouseMove(object?sender,MouseEventArgse){ListBox?listBox=senderasListBox;//获取鼠标在ListBox中的位置int......
  • [CSS] Animate A Card's Width on Hover with Flexbox
    ThecardsontheDJIsitehaveaneffectwherethehoveredcardexpandsandtheothercardsshrink:Inordertoemulatethiseffectwe'lluseFlexbox.We'llstartbyaddingtheclasses flex-1 and hover:grow-[2] tothe li element,andremovingt......
  • pyqt Qtreeview分层控件
    pyqtQtreeview分层控件介绍效果代码介绍QTreeView是PyQt中的一个控件,它用于展示分层数据,如目录结构、文件系统等。QTreeView通常与模型(如QStandardItemModel、QFileSystemModel或自定义模型)一起使用,以管理数据和提供视图如何显示数据的规则。效果代码from......
  • 元素设置:hover动效边缘触发频繁闪动怎么解决
    元素设置:hover动效边缘触发频繁闪动怎么解决前言:1.我并没有深入了解,难免出错一、问题出现的原因众所周知,:hover选择器是在鼠标移到元素上时产生效果,即鼠标移到元素上,触发:hover,鼠标离开元素,恢复。因此,元素设置:hover动效边缘触发频繁闪动产生的原因就是:hover触发的样式更改......