我不会尝试将 QRadioButton 变形为在视觉上类似于 QPushButton 的东西,而是简单地使用带有一些自定义逻辑的 QPushButton。
那时您将不必担心视觉方面,而逻辑本身并不难写。
正如@besworland 所述,QPushButton 继承自 QAbstractButton,它已经具有是否可检查的选项。您可以通过setCheckable(bool).
要模仿一组 QRadioButton 的“独占”行为,您可以将按钮添加到 QButtonGroup 并使其成为独占按钮。如文档 中所述“一个独占按钮组会关闭所有可检查(切换)按钮,除了被点击的按钮。” 您可以为此使用 QButtonGroup 的setExclusive(bool)方法。
无论如何,我会考虑那些比转换 QRadioButton 来满足您的需求更简单的选择。