【问题标题】:QRadioButton color change on Selected and deselected Qt选中和取消选中 Qt 上的 QRadioButton 颜色更改
【发布时间】:2016-12-07 11:35:25
【问题描述】:

我正在尝试将选中和取消选中的单选按钮的颜色更改为 QtStylesheet :Qt Stylesheet

但在此链接中它仅指加载图像但我如何更改它的颜色而不加载图像并更改边框颜色或样式单选按钮

要求附在图片中:

【问题讨论】:

  • 仔细阅读您链接的文档。它指出QRadioButton 支持box model(它有边框)。它还具有background-color 属性。
  • 是的,你是对的背景颜色更改框的颜色,但我无法设置按钮(o)颜色为红色(选择时)和黑色(取消选择)

标签: qt radio-button


【解决方案1】:

如果您想在选中单选按钮时更改其背景颜色,您应该同时使用插槽和样式表。

我将把你的按钮命名为 MyButton。

在您的 .h 中,您会发现:

  private :
        QRadioButton MyButton;
    private slots:
        void changeColorMyButton();

并在您的 .cpp 中添加主窗口的设置:

QObject::connect(MyButton,SIGNAL(clicked(bool)),this,SLOT(changeColorMyButton));

您的按钮现在已连接到信号 clicked,当您单击按钮时,将执行插槽 changeColorMyButton。您现在可以自定义您的广告位了。

   void Mainwindow::changeColorMyButton()
    {
        if(this.MyButton.isChecked())
        {
         this.MyButton->setStyleSheet("background-color: black");
        }
        else
        {   
         this.MyButton->setStyleSheet("background-color: yellow");
        }
    }

【讨论】:

    【解决方案2】:

    仔细阅读documentation。它描述了您所需要的一切。它甚至几乎described 你的情况,唯一的区别是图像而不是颜色。

    您的案例的样式表是这样的:

    QRadioButton {
        background-color:       gray;
        color:                  white;
    }
    
    QRadioButton::indicator {
        width:                  10px;
        height:                 10px;
        border-radius:          7px;
    }
    
    QRadioButton::indicator:checked {
        background-color:       red;
        border:                 2px solid white;
    }
    
    QRadioButton::indicator:unchecked {
        background-color:       black;
        border:                 2px solid white;
    }
    

    【讨论】:

      【解决方案3】:

      将样式表设置为下一个对我有用:

      QRadioButton:checked{
          background-color: red;
      }
      
      QRadioButton:unchecked{
         background-color: black;
      }
      

      将样式表设置为 QRadioButton::indicator:checked 不起作用,因为这只会更改指标的设置。

      【讨论】:

        猜你喜欢
        • 2020-10-05
        • 2016-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-11
        • 1970-01-01
        相关资源
        最近更新 更多