我需要使用QLabel显示文本,并满足以下要求:
- 自动换行
- 当标签只占一行时,根据文本长度从小宽度扩展到全宽度
- 当标签占多行时,始终保持全宽度
- 标签的背景填充有颜色
我希望您能够在文本到达右侧之前不要换行。
但是我发现文本在到达右侧之前就被换行了。如何防止不必要的单词换行?
复制代码
注意事项
- 如果我不在HBox中放置间隔符,则满足要求1和3,但不满足要求2(文本不存在的区域填充背景颜色。此时,我不想要这种行为)。
- 如果禁用单词换行,则满足要求2,但不满足要求1。
相关问题
这个问题与类似的问题有关,但没有布局。
QBoxLayout::setStretch
来确定分配给每个可扩展项的空间量(例如,将 stretch=4 设置为标签,将 spacer 设置为 1 将使标签占据全宽的 4/5)。如果布局中的其他项具有固定大小,则可扩展的标签将占用所有可用空间。 - Pavel Strakhov