Qt编程:QSlider美化,鼠标移入窗口显示滑动条,鼠标移出窗口隐藏滑动条

效果图:
在这里插入图片描述
实现方法有两种,第一种是重载鼠标移入移出事件

	void enterEvent(QEvent * event);
	void leaveEvent(QEvent * event);

但是这种方法无法指定重载该函数的类中子窗口,因此不适合一些应用场景。

第二种方法就是事件过滤器eventFilter
该方法可以指定到某个控件

使用前需要在目标对象上安装该过滤器

ui.textEdit->installEventFilter(this);

实现代码

bool EditSlider::eventFilter(QObject * obj, QEvent * event)
{
	if (obj == ui.textEdit && event->type() == QEvent::Leave)
		ui.textEdit->verticalScrollBar()->hide();
	else if (obj == ui.textEdit && event->type() == QEvent::Enter)
		ui.textEdit->verticalScrollBar()->show();
	return QWidget::eventFilter(obj, event);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

离歌漠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值