QRadioButton 颜色在选定和取消选定的 Qt 上发生变化

P K*_*mar 4 qt radio-button

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

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

要求附在图片中:

RadioButtonRequiredImage

ilo*_*XXI 6

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

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

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;
}
Run Code Online (Sandbox Code Playgroud)


小智 0

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

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

在你的 .h 中你会发现:

  private :
        QRadioButton MyButton;
    private slots:
        void changeColorMyButton();
Run Code Online (Sandbox Code Playgroud)

并在您的 .cpp 中添加 Mainwindow 的设置:

QObject::connect(MyButton,SIGNAL(clicked(bool)),this,SLOT(changeColorMyButton));
Run Code Online (Sandbox Code Playgroud)

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

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