我正在尝试更改所选和取消选择的radiobutton的颜色 QtStylesheet:Qt Stylesheet
但是在这个链接中它只涉及加载图像,但我怎么能改变颜色而不加载图像和改变边框颜色或造型单选按钮
要求附在图片中:RadioButtonRequiredImage
感谢您的支持
谢谢
普利文
答案 0 :(得分: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;
}
答案 1 :(得分:1)
将样式表设置为下一个适用于我:
QRadioButton:checked{
background-color: red;
}
QRadioButton:unchecked{
background-color: black;
}
将样式表设置为QRadioButton ::指标:已选中无效,因为这只会更改指标的设置。
答案 2 :(得分:-1)
如果要在选择单选按钮时更改单选按钮的背景颜色,则应使用插槽和样式表。
我会将你的按钮命名为MyButton。
在你的.h中你会发现:
private IReadOnlyDictionary<RegisterSection, Func<RegisterXml, RegisterGenerationArgs, Task>> CreateSectionActionsDictionary()
{
return new Dictionary<RegisterSection, Func<RegisterXml, RegisterGenerationArgs, Task>>
{
{ RegisterSection.RegisterCover, async(reg, args) => reg.Cover = await _sectionGenerators.RegisterCoverGenerator.GenerateAsync(args) },
{ RegisterSection.StudentPersonalData, async(reg, args) => reg.StudentPersonalData = await _sectionGenerators.StudentPersonalDataGenerator.GenerateAsync(args)},
// Add more generating here ...
};
}
private async Task GenerateSectionsAsync(RegisterGenerationArgs args, RegisterXml reg)
{
foreach (var sectionAction in SectionActions)
if (SectionContainedWithin(args, sectionAction.Key))
await sectionAction.Value(reg, args);
}
并在.cpp中添加主窗口的设置:
private :
QRadioButton MyButton;
private slots:
void changeColorMyButton();
您的按钮现已连接到点击的信号,当您点击按钮时,将执行插槽 changeColorMyButton 。您现在可以自定义插槽。
QObject::connect(MyButton,SIGNAL(clicked(bool)),this,SLOT(changeColorMyButton));