SkillAgentSearch skills...

BaseButton

这是一个基于Qt的按钮基础组件项目,旨在封装不同的按钮基类,去实现不同按钮样式与功能需求

Install / Use

/learn @justdoit-mqr/BaseButton
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

BaseButton

这是一个基于Qt的按钮基础组件项目,旨在封装不同的按钮基类,去实现不同按钮样式与功能需求。

1.BaseToolButton

功能概述:

  • 该类继承自QToolButton,可以使用父类自身的setToolButtonStyle()方法实现按钮不同的显示风格(文本/图标/文本+图标)。同时因为QToolButton又继承自QAbstractButton,所以该类也可以使用Qt基类按钮的很多通用功能,比如pressed、clicked、autoRepeat等功能,以及使用QButtonGroup来管理单选按钮组,降低了代码复杂度,减少不必要的重复造轮子。
  • 该类重新实现了QAbstractButton的nextCheckState()方法,方便通过check状态模拟按钮的"开关"状态,并可以配置在点击时自动/手动切换状态。
  • 该类重新实现了mousePressEvent()和mouseReleaseEvent()鼠标事件处理方法,添加了防抖和长按的功能处理

接口函数:

//设置按钮图标和样式
void setBtnIcon(const QString &iconUrl,QSize iconSize = QSize(32,32),bool scaledUp = false);
void setBtnIcons(QString normalIcon,QString checkedIcon,QString disabledIcon,QSize iconSize = QSize(32,32));
//设置按钮文本居左
void setBtnTextAlignLeft();
    
//设置/获取按钮名称
void setBtnName(QString btnName){this->btnName = btnName;}
QString getBtnName(){return this->btnName;}
//设置按钮是否可以自动check
void setBtnAutoChecked(bool isAutoChecked){this->isAutoChecked = isAutoChecked;}
//设置按钮防抖属性
void setBtnAntiShakeProperty(bool antiShakeEnabled,uint antiShakeTime = 200);
//设置按钮长按属性
void setBtnLongPressProperty(bool longPressEnabled,uint longPressRespondMs = 3000,uint longPressMaxMs=3000);
void releaseBtn();//手动释放按钮

作者联系方式:

邮箱:justdoit_mqr@163.com
新浪微博:@为-何-而来

Related Skills

View on GitHub
GitHub Stars5
CategoryDevelopment
Updated7mo ago
Forks6

Languages

C++

Security Score

62/100

Audited on Aug 18, 2025

No findings