Qt实现鼠标进入显示按钮离开隐藏按钮
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:
https://www.cnblogs.com/bclshuai/p/11380657.html
扫码关注公众号
目录
1 实现目标
2 实现思路
1 实现目标
项目中需要实现鼠标进入Widget界面,显示按钮或图标,鼠标离开的时候,隐藏按钮或图标。或者实现鼠标进入离开时背景色发生变化。
2 实现思路
自定义一个类继承QWidget类,重写鼠标进入和离开函数。在widget上添加按钮。鼠标进入时,显示按钮,鼠标离开时隐藏按钮。
(1)定义一个界面
(2)自定义一个类重写鼠标进入离开函数
头文件
#ifndef COMPAREVIEW_H
#define COMPAREVIEW_H
#include <QWidget>
#include "ui_CompareView.h"
#include <QImage>
#include"FaceDefine.h"
class CompareView : public QWidget
{
Q_OBJECT
public:
CompareView(MatchData matchData);
~CompareView();
MatchData GetMatchData() { return m_matchData; };
Ui::MatchWidget ui;
protected:
void enterEvent(QEvent *e); //进入QWidget瞬间事件
void leaveEvent(QEvent *e); //离开QWidget瞬间事件
private:
MatchData m_matchData;
//QImage* m_imgTarget = NULL; //
//QImage* m_imgSource = NULL; //
};
#endif // COMPAREVIEW_H
源文件
#include "CompareView.h"
CompareView::CompareView(MatchData matchData)
{
ui.setupUi(this);
setWindowModality(Qt::NonModal);
setWindowFlags(Qt::FramelessWindowHint);
this->resize(114, 114);
m_matchData = matchData;
ui.MatchPercent->setText(QString::number(m_matchData.matchPercent*100).left(2) +"%");
QPixmap pix(matchData.strTargetPath);
pix = pix.scaled(this->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
ui.PicTarget->setPixmap(pix);
ui.pushButtonPlay->hide();
ui.pushButtonMax->hide();
ui.labelTime->hide();
}
CompareView::~CompareView()
{
}
void CompareView::enterEvent(QEvent *e)
{
ui.PicTarget->setStyleSheet("background: rgba(0,0,0,0.60);");
ui.pushButtonPlay->show();
ui.pushButtonMax->show();
ui.labelTime->show();
}
void CompareView::leaveEvent(QEvent *e)//离开隐藏closebutton
{
ui.pushButtonPlay->hide();
ui.pushButtonMax->hide();
ui.labelTime->hide();
ui.PicTarget->setStyleSheet("background:rgba(56, 156, 255,0.08);");
}
相关文章
- Qt之自定义界面(右下角冒泡)
- Qt Creator介绍
- Qt实现FlatUI样式
- Qt编写视频监控系统71-外网访问摄像头等设备(获取各种信息及拉流)
- Qt编写安防视频监控系统17-在线地图
- Qt编写物联网管理平台38-多种数据库支持
- QT编写的嵌入式工业控制系统
- Qt实现一个刷新效果按钮
- C++编写Qt应用程序 如何实现交互效果?
- Qt如何实现密码显示按钮
- Qt正则表达式
- Qt 实现简单的TCP通信
- Qt QSlider介绍(属性设置、信号、实现滑块移动到鼠标点击位置)
- Qt OpenGL 蒙板
- Qt Quick 常用元素:Textinput 与 TextEdit 文本编辑框
- 使用Qt实现简单的图片预览效果
- Qt实现透明按钮仅显示图标(亲测可用)
- Qt之QtableView自定义表头
- QT TCP简单使用
- Qt中启动界面的设计
- Qt中实现悬浮窗口
- Qt 单例模式的实现(4种方法)
- Qt+ffmpeg实现视频流编码成MP4
- QT抓取主屏幕
- Qt 用代码实现菜单栏(MenuBar)和工具栏(ToolBar)
- QT实现自定义拖动边框调整窗口大小
- Qt实现数字滚动动画效果
- QT分析之WebKit
- Qt && 常量中有换行符 && 中文