0

我正在尝试使禁用的 QRadioButtons 看起来已启用。我希望它们看起来正常,但不允许用户更改它们。我尝试了 QRadioButton.setCheckable(False),然后设置 QRadioButton.setChecked(True)。可以假设,QRadioButton.setChecked(True) 不起作用,因为它被 setCheckable 否决了。我该如何解决这个问题,以便以编程方式将单选按钮设置为已选中,但用户无法更改它?

我尝试了这样的 QPalette:

pal = self.SearchPastDB.missingFood.palette()
pal.setColor(QPalette.Disabled, QPalette.Text, pal.color(QPalette.Active, QPalette.Text))
pal.setColor(QPalette.Disabled, QPalette.Base, pal.color(QPalette.Active, QPalette.Base))
self.SearchPastDB.poorQual.setPalette(pal)
self.SearchPastDB.wrongFood.setPalette(pal)
self.SearchPastDB.missingFood.setPalette(pal)

我也试过:

pal = QPalette()
pal.setColor(QPalette.Disabled, QPalette.Text, pal.color(QPalette.Active, QPalette.Text))
pal.setColor(QPalette.Disabled, QPalette.Base, pal.color(QPalette.Active, QPalette.Base))
self.SearchPastDB.poorQual.setPalette(pal)
self.SearchPastDB.wrongFood.setPalette(pal)
self.SearchPastDB.missingFood.setPalette(pal)

这也不起作用,所以我觉得我可能做错了。

4

1 回答 1

0

只需将 QRadioButton 样式表设置为禁用与启用相同..just put

QRadioButton{_YOUR_STYLESHEET_}

QRadioButton::disabled{_YOUR_STYLESHEET_}

相同的QRadioButton::indicator赋予它相同的启用样式

于 2014-05-16T19:10:39.740 回答