QAbstractView(QTreeView、QTableView等)鼠标滑过显示Tooltip(帮助)当前指向单元格文字
2016-12-12 14:49
1601 查看
如题,效果为QTreeView或QTableView在取得焦点的情况下,移动鼠标并短暂停留,即可弹出tooltip并显示当前鼠标指针所指向行内的数据
用于显示太长而被隐藏的数据,共有两种方式:
1、使用整个窗口/view的事件过滤器
假设窗口中有名称为treeview控件
bool MyWidget::eventFilter(QObject *editor, QEvent *event)
{
if(event->type()==QEvent::ToolTip){
QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event); //Tooptip弹出事件,帮助
QPoint p_Top=helpEvent->globalPos(); //Tooptip的显示位置,全局坐标
QPoint p_View=ui->treeView->mapFromGlobal(p_Top); //将鼠标的全局坐标转换为treeview中的坐标
QModelIndex currentIndex=ui->treeView->indexAt(tmpP); //获取鼠标所指向的Index
QString name=currentIndex.data(Qt::DisplayRole).toString();
QToolTip::showText(p_Top, name); //显示ToolTip
return true;
}
return QWidget::eventFilter(editor, event);
}
2、自定义model,继承自QStandardItemModel
在model类的data函数下加入以下内容:
if(role == Qt::ToolTipRole) {
QString name=index.data(Qt::DisplayRole).toString();
return QToolTip.showText(QCursor.pos(), name);
}
用于显示太长而被隐藏的数据,共有两种方式:
1、使用整个窗口/view的事件过滤器
假设窗口中有名称为treeview控件
bool MyWidget::eventFilter(QObject *editor, QEvent *event)
{
if(event->type()==QEvent::ToolTip){
QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event); //Tooptip弹出事件,帮助
QPoint p_Top=helpEvent->globalPos(); //Tooptip的显示位置,全局坐标
QPoint p_View=ui->treeView->mapFromGlobal(p_Top); //将鼠标的全局坐标转换为treeview中的坐标
QModelIndex currentIndex=ui->treeView->indexAt(tmpP); //获取鼠标所指向的Index
QString name=currentIndex.data(Qt::DisplayRole).toString();
QToolTip::showText(p_Top, name); //显示ToolTip
return true;
}
return QWidget::eventFilter(editor, event);
}
2、自定义model,继承自QStandardItemModel
在model类的data函数下加入以下内容:
if(role == Qt::ToolTipRole) {
QString name=index.data(Qt::DisplayRole).toString();
return QToolTip.showText(QCursor.pos(), name);
}
相关文章推荐
- [javascript]鼠标滑过列表文字显示图片及详细信息
- QTableView显示tooltip与设置日志
- 鼠标滑过列表文字显示图片及详细信息信息信息
- 鼠标滑过显示文字提示
- 鼠标滑过图片显示半透明文字,边框变色代码
- 如果文字过长,则将过长的部分变成省略号,鼠标指向时显示全部
- 关于TableView中显示帮助文字的处理
- 鼠标滑过图片,图片上出现一个遮罩层并显示图片的提示文字
- 绑定gridview单元格内容过长,用tooltip,单元格截取指定长度,鼠标停留时显示全部内容,
- 鼠标滑过文字,显示隐藏的div,离开后div隐藏
- jQuery hover事件鼠标滑过图片半透明标题文字滑动显示隐藏
- 如果文字过长,则将过长的部分变成省略号,鼠标指向时显示全部
- vaddin grid实现每个单元格的ToolTip(鼠标放在单元格显示出单元格的内容)
- 感应鼠标滑过图片弹出层显示文字说明
- jQuery hover事件鼠标滑过图片半透明标题文字滑动显示隐藏
- treeview中鼠标选中的index并显示文件名,获取QTableView中鼠标选择行信息
- QT中,QTableView鼠标滑过某一item上时该item所在行的背景颜色变成其他颜色的实现方法
- 鼠标滑过不同单元格,显示不同内容
- 闭包实现(鼠标滑过)当前行高亮显示
- ligerui实现鼠标滑过行,显示单元格内容