- 自定义控件功能说明
- 实现的效果图
- 源代码:
1.想要在状态栏显示按键。
2.按键左边能显示信息。
3.按键显示圆形,按下按键能够切换按键的显示状态。
4.按按键能够跳到对应的事件中去。
#ifndef STATUSBUTTON_H #define STATUSBUTTON_H #includenamespace Ui { class StatusButton; } class StatusButton : public QWidget { Q_OBJECT enum ButtonColor{RED,GREEN}; public: explicit StatusButton(QWidget *parent = nullptr); ~StatusButton(); void setText(const QString text); void setButtonColor(ButtonColor color=RED); void setTextAndButton(const QString text,ButtonColor color); private slots: void on_toolButton_triggered(QAction *arg1); void on_toolButton_clicked(); private: Ui::StatusButton *ui; QStringList m_listColor; }; #endif // STATUSBUTTON_H
cpp
#include "statusbutton.h" #include "ui_statusbutton.h" #includeStatusButton::StatusButton(QWidget *parent) : QWidget(parent), ui(new Ui::StatusButton) { ui->setupUi(this); QString green="QToolButton { border-radius:9px;background-color: rgb(85, 255, 0);}" "QToolButton:pressed {border-width:3;border-color:orange;border-style:solid;;background-color: rgb(255, 255, 255);}"; QString red="QToolButton { border-radius:9px; background-color: rgb(255, 0, 0);}" "QToolButton:pressed {border-width:3;border-color:orange;border-style:solid;;background-color: rgb(255, 255, 255);}"; m_listColor.push_back(red); m_listColor.push_back(green); //设置开始默认颜色 setButtonColor(); } StatusButton::~StatusButton() { delete ui; } void StatusButton::on_toolButton_triggered(QAction *arg1) { qDebug()< toolButton->setStyleSheet("QToolButton{border-radius:9px;background-color: rgb(255, 0, 0);}"); QString str="QToolButton {border-radius:9px; background-color: rgb(255, 0, 0);background-color: rgb(85, 255, 0);}" "QToolButton::pressed {color:orange;border-width:3;border-color:orange;border-style:solid;;background-color: rgb(255, 255, 255);}}"; ui->toolButton->setStyleSheet(str); } void StatusButton::setText(const QString text) { ui->label->setText(text); } void StatusButton::setButtonColor(ButtonColor color) { ui->toolButton->setStyleSheet(m_listColor[color]); qDebug()< 已经上传到平台,有需要自行免费下载。
https://download.csdn.net/download/simple_core/85393269



