马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在主窗口里获取鼠标的悬浮变乱
_customTooltip是我定义在私有变量里的
AbnormalToolTipWidget *_customTooltip = nullptr;
- bool RobotAbnormalBtns::eventFilter(QObject *obj, QEvent *event)
- {
- if (event->type() == QEvent::HoverEnter) {
- // 鼠标悬浮时显示自定义的工具提示
- if (!_customTooltip) {
- _customTooltip = new AbnormalToolTipWidget(this);
- }
- _customTooltip->addAbnormalInfo(/* 这里填入向widget传的数据*/);
- QPoint pos = mapToGlobal(static_cast<QWidget*>(obj)->pos());
- _customTooltip->move(mapToGlobal(QPoint(this->rect().right()+15,this->rect().center().y()-74))); // 设置提示显示的位置
- _customTooltip->show();
- _customTooltip->raise();
- } else if (event->type() == QEvent::HoverLeave) {
- if (_customTooltip) {
- _customTooltip->hide();
- }
- }
- return QObject::eventFilter(obj, event);
- }
复制代码
AbnormalToolTipWidget:
- #include <QWidget>
- #include <QStandardItemModel>
- namespace Ui {
- class AbnormalToolTipWidget;
- }
- class AbnormalToolTipWidget : public QWidget
- {
- Q_OBJECT
- public:
- explicit AbnormalToolTipWidget(QWidget *parent = nullptr);
- ~AbnormalToolTipWidget();
- void addAbnormalInfo(QVariantList infoList);
- private:
- Ui::AbnormalToolTipWidget *ui;
- };
复制代码- #include "AbnormalToolTipWidget.h"
- #include "ui_AbnormalToolTipWidget.h"
- #include "PublicClass/StyleObject.h"
- #include "UiClass.h"
- AbnormalToolTipWidget::AbnormalToolTipWidget(QWidget *parent)
- : QWidget(parent)
- , ui(new Ui::AbnormalToolTipWidget)
- {
- ui->setupUi(this);
- // 设置自定义提示框的大小和外观
- setWindowFlags(Qt::ToolTip);
- setAttribute(Qt::WA_OpaquePaintEvent, false);//这里不设置为false,会有显示问题
- setAutoFillBackground(true);
- /*这里就可以开始设计自定义的内容了*/
- // 设置自定义提示框的大小
- resize(553, 60);
- }
- AbnormalToolTipWidget::~AbnormalToolTipWidget()
- {
- delete ui;
- }
- void AbnormalToolTipWidget::addAbnormalInfo(QVariantList infoList)
- {
- //这是我定义的 外部传数据的函数 根据外部数据修改显示内容
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |