Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QRA选定和取消选定Qt上的RadioButton颜色变化_Qt_Radio Button - Fatal编程技术网

QRA选定和取消选定Qt上的RadioButton颜色变化

QRA选定和取消选定Qt上的RadioButton颜色变化,qt,radio-button,Qt,Radio Button,我正在尝试更改选中和取消选中的单选按钮的颜色 QT样式表: 但在这个链接中,它只是指加载一个图像,但我如何才能改变它的颜色,而不加载图像和改变边框颜色或样式单选按钮 要求附在图中: 如果要在选中单选按钮时更改其背景色,则应同时使用插槽和样式表 我会把你的按钮命名为MyButton 在您的.h中,您将发现: private : QRadioButton MyButton; private slots: void changeColorMyButton()

我正在尝试更改选中和取消选中的单选按钮的颜色 QT样式表:

但在这个链接中,它只是指加载一个图像,但我如何才能改变它的颜色,而不加载图像和改变边框颜色或样式单选按钮

要求附在图中:


如果要在选中单选按钮时更改其背景色,则应同时使用插槽和样式表

我会把你的按钮命名为MyButton

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

  private :
        QRadioButton MyButton;
    private slots:
        void changeColorMyButton();
在主窗口的.cpp加载项设置中:

QObject::connect(MyButton,SIGNAL(clicked(bool)),this,SLOT(changeColorMyButton));
您的按钮现在已连接到单击的信号,当您单击按钮时,将执行插槽更改ColorMyButton。您现在可以自定义插槽

   void Mainwindow::changeColorMyButton()
    {
        if(this.MyButton.isChecked())
        {
         this.MyButton->setStyleSheet("background-color: black");
        }
        else
        {   
         this.MyButton->setStyleSheet("background-color: yellow");
        }
    }
仔细阅读。它描述了你所需要的一切。即使是你的情况,唯一的区别是图像而不是颜色

您案例的样式表如下所示:

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;
}

将样式表设置为“下一个适合我”:

QRadioButton:checked{
    background-color: red;
}

QRadioButton:unchecked{
   background-color: black;
}

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

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