Qt仿照酷狗的导航栏

本文介绍如何在Qt中仿照酷狗音乐创建导航栏,通过自定义QPushButton实现不同状态的效果,包括正常、悬停和点击时的样式变化。文章提供实现代码,并指出在点击其他按钮时恢复原按钮到正常状态。
摘要由CSDN通过智能技术生成

简述

如题所示,本篇文章主要展示博主在仿照酷狗做播放器的时候,模仿酷狗导航栏及其实现的代码。
酷狗原图:
这里写图片描述
实现效果:
这里写图片描述

实现原理

酷狗的导航条是控制下面所要展示的控件的,所以我采用的是继承QPushButton来进行导航条的设置,方便以后QStackedWidget的显示。
在这里说一下酷狗导航条的各部分效果。
normal:没什么特别。
hover:字体颜色改变。
clicked:字体颜色改变并且在按钮底部添加横线
在点击了其它QPushButton后,原有按钮变为normal状态,酷狗本身还实现了横线的动画,在这里不予实现。

实现代码

//说明一下BasePushButton只是继承了QPushButton后实现了鼠标的样式改变,其它并未有什么不同,可当做QPushButton看,并且这个类没有实现横线的添加,因为在博主项目中有用到不要横线的导航条。
enum StackPushButtonStatus
{
    Normal = 0,
    Hover = 1,
    Click = 2
};
class StackBasePushButton :public BasePushButton
{
    Q_OBJECT
public:
    StackBasePushButton(QWidget *parent = Q_NULLPTR);
    StackBasePushButton();
    void setFlag(const int is)
    {
        flag = is;
        update();
    }
protected:
    void enterEvent(QEvent *event) override;
    void
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值