我试图使用标准的QCheckbox/QRadioButton拥有一个带有Qt的多行复选框/无线电按钮。
我没有找到直接的解决方案,因为QRadioButton{wrap:true;}没有任何效果。唯一可能的方法是访问QRadioButton->label->setLineWrap(true),但是
除了把一个QRadioButton和一个QLabel放在一起之外,还有什么想法吗?
Thx,鲍里斯。
发布于 2009-12-06 16:23:12
这确实很烦人,如果没有重新实现,就无法解决:如果我没有弄错的话,标签使用Qt::PlainText。在我们的项目中,UI团队用两种方法解决了这个问题。
使用QRadioButton按钮作为标题

以这样一种方式重写QRadioButton文本,使其只对该选项有一个简短的描述。在它下面放一个QLabel,并添加一个更长的描述。我们使用一个更小的字体和一个小的缩进使它看起来整洁。例如,这在Mac中经常使用。
从单选按钮中删除文本

将UI重放,以便将每个单选按钮放在QLabel的左侧。将整个文本添加到QLabel中,并将标签设置为单选按钮的好友。这是最不实用的方法,因为单击标签不会检查单选按钮。而且,对齐也不是很好。
发布于 2009-12-03 14:23:00
我知道的唯一方法(但它不是“可布局的”)是将\n符号放入字符串中。
发布于 2009-12-29 11:46:52
我成功地为单选按钮添加了布局和标签,并将垂直大小策略更改为首选(而不是固定的)。
不幸的是,这并没有自动使它对鼠标的悬停和点击做出反应,就像本机标签一样,但是看到一个黑客:i setStyleSheet(“边框:无”)的单选按钮,它就开始工作了。也许这就是幕后发生的一些事情;我希望有一些确定性。
并且可以使用"QRadioButton::indicator{subcontrol-position:top left}“<- http://doc.trolltech.com/qq/qq20-qss.html”对齐指示器。
https://stackoverflow.com/questions/1839194
复制相似问题