如何为已检查的QRadioButton制作颜色,但看起来像标准?

gna*_*ase 1 css qt qradiobutton qstylesheet

我知道很多人都问过这个问题.我也在这里搜索过它.最简单的解决方案之一是样式表:

QRadioButton {
background-color: rgb(252,254,252);
color: black;
}

QRadioButton::indicator {
width: 11px;
height: 11px;
border-radius: 5px;
}

QRadioButton::indicator::unchecked{ 
border: 1px solid; 
border-color: rgb(132,132,132);
border-radius: 5px;
background-color: white; 
width: 11px; 
height: 11px; 
}

QRadioButton::indicator::checked{ 
border: 3px solid; 
border-color: white;
border-radius: 6px;
background-color: rgb(0,116,188); 
width: 7px; 
height: 7px; 
}
Run Code Online (Sandbox Code Playgroud)

但如果我这样做,结果就像这样 选中按钮 (按钮只有白色圆形边框,内部为蓝色圆形).但是,我们可以在它们之外制作黑色边框,就像标准的单选按钮一样 标准?(黑色边框 - >白色边框 - >蓝色圆形).我们可以在Qt中做到吗?

Bra*_*onL 6

忘记尝试在Qt中设置复选框或单选按钮 - 这是一场噩梦,你永远不会得到你想要的结果.在Qt中执行此操作的最佳方法是为每个按钮状态创建单独的图像文件,如样式表示例中所示:

QRadioButton::indicator
{
    width: 13px;
    height: 13px;
}

QRadioButton::indicator::unchecked
{
   image: url(:/images/radiobutton_unchecked.png);
}

QRadioButton::indicator:unchecked:hover
{
    image: url(:/images/radiobutton_unchecked_hover.png);
}

QRadioButton::indicator:unchecked:pressed
{
    image: url(:/images/radiobutton_unchecked_pressed.png);
}

QRadioButton::indicator::checked 
{
    image: url(:/images/radiobutton_checked.png);
}

QRadioButton::indicator:checked:hover 
{
    image: url(:/images/radiobutton_checked_hover.png);
}

QRadioButton::indicator:checked:pressed 
{
    image: url(:/images/radiobutton_checked_pressed.png);
}
Run Code Online (Sandbox Code Playgroud)