【qt】1个导航栏实现

image-20250204170132052
image-20250204170229289
image-20250204170846374

enum class Direction
{
Horizontal,
Vertical
};
//构造
NaviBar(QWidget *parent = nullptr, Direction dir=Direction::Horizontal);
//设定可增加按钮最大数量
void setBtnCountMax(int maxCount);
int btnCountMax() const;
//设定背景颜色
void setBackground(QColor bgcolor=QColor("black"));
//设定按钮最小宽度
void setButtonMinWidth(int w);
//设定按钮最小高度
void setButtonMinHeight(int h);
//设定内边距
void setPaddings(int left, int top, int right, int bottom);
//设定icon尺寸
void setIconSize(QSize iconSize);
//设定文本尺寸(px)
void setTextSize(int pixel);
//设定动画移速(ms)
void setMoveSpeed(int milliseconds);
//添加按钮
void appendButton(QIcon icon, QString text, QColor iconColor=QColor("white"), QColor textColor=QColor("white"), QColor btnColor=QColor(qRgba(247, 59, 89, 150)));
//插入按钮
void insertButton(int index, QIcon icon, QString text, QColor iconColor=QColor("white"), QColor textColor=QColor("white"), QColor btnColor=QColor(qRgba(247, 59, 89, 150)));
//移除按钮
void removeButton(int index, int id);
//根据index获取按钮唯一ID
int btnID(int btnIndex) const;
//根据ID获取按钮
QToolButton& btn(int btnID) const;
//获取当前按钮
QToolButton& curBtn() const;
posted @   徘徊彼岸花  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示