我正在尝试使用标准QCheckBox / QRadioButton与Qt一起使用多行复选框/ radiobutton.
我没有找到直接的解决方案,因为QRadioButton {wrap:true;}没有效果.
唯一可能的是访问QRadioButton-> label-> setLineWrap(true)但是
>我想从设计师那里做到这一点
>不必重写小部件
除了将QRadioButton和QLabel放在一起之外,还有什么想法?
Thx,鲍里斯.
解决方法
这确实很烦人,没有重新实现就无法解决:如果我没有弄错的话,标签会使用Qt :: PlainText.在我们的项目中,UI团队通过两种方法解决了这个问题.
Layout using the QRadioButton as a title http://i48.tinypic.com/97prtl.png
以这样的方式重写QRadioButton文本,它只有该选项的简短描述.将QLabel置于其下方并添加更长的描述.我们使用较小的字体和一点缩进使其看起来整洁.例如,这在Mac OS X中经常使用.
从单选按钮中删除文本
Layout using buddy labels http://i46.tinypic.com/wwhrgh.png
重新布局UI,以便每个单选按钮放在QLabel的左侧.将整个文本添加到QLabel并将标签设置为单选按钮的伙伴.这是功能最少的方法,因为单击标签不会检查单选按钮.此外,对齐不是很好.