这里由于上一层widget已经设置了border-background所以要把radiobutton的底也设置成white-ground,这里有三张图
self.first_radio=QRadioButton(self.right_widget)
self.second_radio=QRadioButton(self.right_widget)
self.third_radio=QRadioButton(self.right_widget)
self.forth_radio=QRadioButton(self.right_widget)
self.radio_group=QButtonGroup()
self.radio_group.addButton(self.first_radio,0)
self.radio_group.addButton(self.second_radio,1)
self.radio_group.addButton(self.third_radio,2)
self.radio_group.addButton(self.forth_radio,4)
self.first_radio.setChecked(1)
loc_white_background="src/pic/test_eval_teach/white_background.png"
loc_checked_pic="src/pic/test_eval_teach/radio_button_checked.png"
loc_unchecked_pic="src/pic/test_eval_teach/radio_button_unchecked.png"
self.first_radio.setStyleSheet("QRadioButton {border-image: url(\"%(loc1)s\");}"
"QRadioButton::indicator {\n"
"width:29px;height:29px;\n"
"border-radius:14px;\n}"
"QRadioButton::indicator:checked {border-image: url(\"%(loc2)s\");}"
"QRadioButton::indicator:unchecked {border-image: url(\"%(loc3)s\");}"
%{"loc1":loc_white_background,"loc2":loc_checked_pic,"loc3":loc_unchecked_pic}
)
效果展示