概述:
实现此功能需要做两步:
- 必须开启界面的鼠标捕获功能
- 接收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:
欢迎大家关注作者在文末评论、点赞、转发以及批评指正!
如果大家有更好的方法或有问题可以在文末评论一起讨论!
共同学习!
共同进步!
文末一句话:
过去酒逢知己千杯少;
现在酒逢千杯知己少;
当朋友遇到了难题的时候,一定要记得挺身而出,即便帮不了忙,安慰也是最大的支持!