QT QSS setStyleSheet 利用宏快速设置按钮的三态点击效果

    xiaoxiao2021-11-28  64

    写在前面

    学习QT有几个月了,从起初的ui界面拖拖拽拽演化到用代码制作界面。

    可是发现自己在设置样式表的时候,一个按钮的三态效果,字符串实在是太长了,很影响码容。

    于是写了一个宏去简化代码,让代码看起来整洁了许多,分享给大家。有可以改进的地方,不吝赐教。

    内容简介

    Qt Creator : 4.0.2

    Qt : 5.0.2

    学习源码

    优化前

    ui->exitButton->setText(""); ui->exitButton->setStyleSheet( QString("QPushButton{border-image: url(:/base/exit)}" "QPushButton:pressed{border-image: url(:/base/exit_pressed)}" "QPushButton:houver{border-image: url(:/base/exit_houver)}");

    优化后

    // 退出按钮 ui->exitButton->setText(""); ui->exitButton->setStyleSheet( QString(BUTTON_STYLESHEET(QPushButton,:/base/exit))); #define BUTTON_STYLESHEET(class_name,image_url) (#class_name"{border-image: url("#image_url")}" \ #class_name":pressed{border-image: url("#image_url"_pressed)}")

    相关文章:C/C++ "#"与"##"的作用与用法 【点击前往】

    结后语

    利用宏的不做类型检查和预编译的特性,不会影响运行效率。

    转载请注明原文地址: https://ju.6miu.com/read-678562.html

    最新回复(0)