Qt之QTableWidget Tip气泡消息

概述:

实现此功能需要做两步:

  1. 必须开启界面的鼠标捕获功能
  2. 接收QTableWidget的信号cellEntered(int,int):

代码示例:

.h

#ifndef MYTABLEWIDGET_H
#define MYTABLEWIDGET_H

#include <QWidget>
#include <QToolTip>


namespace Ui {
class MyTableWidget;
}

class MyTableWidget : public QWidget
{
    Q_OBJECT

public:
    explicit MyTableWidget(QWidget *parent = 0);
    ~MyTableWidget();
    
private slots:
    /**
     * @brief slotCellEnter 气泡消息显示槽函数
     * @param row           表格行
     * @param col           表格列
     */
    void slotCellEnter(int row,int col);
private:
    /**
     * @brief initConnect   初始化信号槽连接
     */
    void initConnect();

private:
    Ui::MyTableWidget *ui;
};

#endif // MYTABLEWIDGET_H

.cpp

#include "MyTableWidget.h"
#include "ui_MyTableWidget.h"

MyTableWidget::MyTableWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyTableWidget)
{
    ui->setupUi(this);
    //1. 必须开启界面的鼠标捕获功能
    ui->tableWidget->setMouseTracking(true);
                                            
    initConnect();
}

MyTableWidget::~MyTableWidget()
{
    delete ui;
}

void MyTableWidget::initConnect()
{
	//2. 接收QTableWidget的信号cellEntered(int,int):当鼠标进入单元格的时候会触发此信号
    connect(ui->tableWidget, SIGNAL(cellEntered(int, int)), this, SLOT(slotCellEnter(int , int )));
}

void MyTableWidget::slotCellEnter(int row, int col)
{
    QTableWidgetItem *item = ui->tableWidget->item(row, col);
    if (item == NULL) {
        return;
    }
    QToolTip::showText(QCursor::pos(), item->text());
}

运行效果图

在这里插入图片描述

over:

欢迎大家关注作者在文末评论、点赞、转发以及批评指正!
如果大家有更好的方法或有问题可以在文末评论一起讨论!
共同学习!
共同进步!

文末一句话:

过去酒逢知己千杯少;
现在酒逢千杯知己少;
当朋友遇到了难题的时候,一定要记得挺身而出,即便帮不了忙,安慰也是最大的支持!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值