QTablewidget 鼠标悬停显示提示内容(Tooltip)

10 篇文章 0 订阅


Qt中GUI设计经常会使用到QTabaleWidget控件,有时Item中显示的文字内容比较多,如果设置Item过大的话,文字虽然可以显示出来,但是整个页面就会显示的Item比较少。所以为了多显示Item,每个Item的大小设置还是要适中一些,带来的问题就是每个Item中显示的内容不全。但是还必须要让用户了解每一个Item中的内容,所有为了方便显示其中的内容,我们可以借助于鼠标悬停事件显示表格中的内容(Tooltip)。

一.环境及适用范围

使用环境: QT版本: 5.12.4
适用控件:QTableWidget, QTableView, QTreeWidget, QListView等继承于QAbstractItemView可以使用。

二.实现方法

1. 开启鼠标捕获

必须开启控件的鼠标捕获功能:

tableWidget->setMouseTracking(true);//开启捕获鼠标功能

2. 接收和处理信号

接收QTableWidget的信号entered(QModelIndex):

connect(ui->tableWidget,SIGNAL(entered(QModelIndex)),this,SLOT(ShowTooltip(QModelIndex)));
void xxxx::ShowTooltip(QModelIndex index)
{ 
   QToolTip::showText(QCursor::pos(),index.data().toString());
   return ;
}

三. 具体源码

1. 头文件

private slots:
    void ShowTooltip(QModelIndex index);

2. cpp文件

tableWidget->setMouseTracking(true);
connect(tableWidget, SIGNAL(entered(QModelIndex)), this, SLOT(ShowTooltip(QModelIndex))); 
void MainWindow::ShowTooltip(QModelIndex index)
{
    QToolTip::showText(QCursor::pos(),index.data().toString());
    return ;
}
  • 12
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值