Qt添加自定义属性设置控件风格

我们都知道设计Qt控件的风格有三种方式,
1,在设计器上添加风格,例如


2,用代码实现,例如:
ui.pushButton_2->setStyleSheet("QPushButton{background-color:read;}")

ui.pushButton_2->setStyleSheet("#pushButton_2{background-color:red;}")
3,把风格设置写到qss文件中,然后通过加载qss文件来设置控件风格,例如:
mystyle.qss

QPushButton#pushButton_3{
        background: rgb(10, 255, 10);
}
QPushButton#pushButton_3:hover {
        background: rgb(255, 10, 10);
}
QPushButton#pushButton_3:pressed {
        background: rgb(10, 10, 255);
}

代码加载

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QFile file(QString(":/mystyle.qss"));
    file.open(QFile::ReadOnly);
    QString qss = QLatin1String(file.readAll());
    a.setStyleSheet(qss);
    MainWindow w;
    w.show();
    return a.exec();
}

运行效果如下:

本篇我们介绍通过自定义属性来设置控件风格

和前面一样也是这三种方式:

1,在UI界面操作

 添加属性名称myBool,选择属性类型Bool型

添加成功后,右侧会显示

然后在设置风格时引用这个属性:

ui->pushButton_4->setStyleSheet("#pushButton_3[myBool=\"true\"]{background-color:yellow;}");

这里表示,如果myBool这个值为true,这个控件的背景色为黄色,我们在设计师界面把空上属性钩上:

第二种,写代码实现,添加自定义myColor属性,例如:

ui->pushButton_5->setProperty("myColor", "purple");
ui->pushButton_5->setStyleSheet("#pushButton_5[myColor=\"purple\"]{background-color:purple;}");

第三种,代码加qss实现

ui->pushButton_6->setProperty("mySet", "set");

qss设置

QPushButton#pushButton_6[mySet=set]{
        background: orange;
}
QPushButton#pushButton_6[mySet=set]:hover {
        background: purple;
}
QPushButton#pushButton_6[mySet=set]:pressed {
        background: white;
}

运行效果如下

参考:

https://blog.csdn.net/weixin_33973600/article/details/90524902

https://blog.csdn.net/senkkes/article/details/50890172

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值