继承QLabel类实现一个类似于toolbutton的可选控件,有选择和未选择两种状态
第一步:首先定义属性
这里属性取名“checked”,有两种方式
方法一:在设计师里定义

点击加号,选择属性类型,这里两种状态,直接使用 bool 类型即可,属性名 checked

新增的属性如下图

方法二:在代码中定义
class LabelButton : public QLabel
{
Q_OBJECT
Q_PROPERTY(bool checked READ isChecked WRITE setChecked) //属性定义
public:
LabelButton(QWidget *parent = Q_NULLPTR);
~LabelButton();
bool isChecked (){ return m_isChecked; } //get方法
void setChecked(bool b){

这篇博客介绍了如何在Qt中自定义控件,通过定义属性`checked`来实现选择和未选择两种状态。作者详细阐述了在设计师中和代码中定义属性的方法,并讲解了如何设计不同的QSS样式表以区分这两种状态。此外,还重写了鼠标点击事件来切换控件状态,并在属性值改变后重新加载样式表以更新视图。
最低0.47元/天 解锁文章
1248

被折叠的 条评论
为什么被折叠?



