在QTableView中简单的显示tool tip

QT中tableWidget的单元格显示ToolTip(小提示)
2010-09-16 20:48

      有两种显示方法,一种是把鼠标放在单元格上面,显示出ToolTip;另外一种是用鼠标点击单元格,再会显示出ToolTip。

       方法一:

       ui->tableWidget->itemAt(1,1)->setToolTip(tr("XXXXXXXXXXXX")); 直接调用相关单元格的setToolTip,2秒之后即会弹出ToolTip提示。

     尝试过用ui->tableWidget->cellWidget(1,1),用单元格Widget,但是不知道为什么编译会出问题。

    方法二:

     通过点击,做成一个信号槽。

    connect(ui->tableWidget,SIGNAL(cellClicked(int,int)),this,SLOT(showToolTip(int,int))); tableWidget里面自带有cellClicked(int,int)这个发射信号,单击某单元格会自动发射该信号。showToolTip(int,int)是自己写的一个槽函数。

    显示ToolTip时使用

    QString coursePosition;
    coursePosition.append("Mouse Position\n");
    QToolTip::showText(QCursor::pos(),coursePosition);

   即可实现单击后显示。

   各有各的优缺点。

http://hi.baidu.com/%B7%E7%BA%DB%CF%D2%D4%C2/blog/item/392252c3a84681150ff4777b.html


1. 设置QTableView启用鼠标跟踪:

ui->tableView->setMouseTracking(true);


2. 与QTableView的entered信号连接:

connect(ui->tableView, SIGNAL(entered(QModelIndex)),

this, SLOT(showToolTip(QModelIndex)));


3. 糟函数:

void Widget::showToolTip(const QModelIndex &index) {

if (!index.isValid()) {

qDebug() << "Invalid index";

return;

}

QToolTip::showText(QCursor::pos(), index.data().toString() + "\ngoto hell");

}

QCursor::pos(): 返回鼠标的位置.
http://www.cppblog.com/biao/archive/2009/08/07/92577.html
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值