栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Qt自定义控件(一)-- 状态栏按键

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Qt自定义控件(一)-- 状态栏按键

Qt自定义控件--状态栏按键
  • 自定义控件功能说明
  • 实现的效果图
  • 源代码:

自定义控件功能说明

1.想要在状态栏显示按键。
2.按键左边能显示信息。
3.按键显示圆形,按下按键能够切换按键的显示状态。
4.按按键能够跳到对应的事件中去。

实现的效果图

源代码:
#ifndef STATUSBUTTON_H
#define STATUSBUTTON_H

#include 

namespace 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"
#include 

StatusButton::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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913878.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号