ZBLOG

QString comboBoxStyle = QString( "QComboBox {" " border: 1px solid rgb(102, 138, 222);" " border-radius: 4px;" " padding: 5px;" " background-color: white;" "}" "QComboBox::drop-d...

在 Qt 的样式表中,要实现选项中的 item 之间有间距,可以考虑通过以下方法进行调整:

  1. 使用 padding:你可以在每个 item 中设置内边距 (padding),但这样会影响到每个 item’s 内容与边框的距离,而不会影响到 item 之间的距离。

  2. 使用分隔符:如果你想要在 item 之间增加视觉上的间距,通常推荐的方法是在 item 的内容中加入额外的空白项(例如一个仅包含空格或换行符的项),但是这不是很优雅。

  3. 利用 QListView::itemSpacing 属性:这是一个更合适的方法,但请注意,这需要在样式表中直接定义,或者通过代码动态设置。这可以为视图中的项目提供空间。

这里是如何设置 QComboBox 的 item 间距的示例:

  1. QString comboBoxStyle = QString(
  2. "QComboBox {"
  3. " border: 1px solid rgb(102, 138, 222);"
  4. " border-radius: 4px;"
  5. " padding: 5px;"
  6. " background-color: white;"
  7. "}"
  8. "QComboBox::drop-down {"
  9. " subcontrol-origin: padding;"
  10. " subcontrol-position: right center;"
  11. " width: 20px;"
  12. " border-left: 1px solid rgb(102, 138, 222);"
  13. "}"
  14. // 自定义下拉箭头图标(可选)
  15. //"QComboBox::down-arrow {"
  16. //" image: url(:/path/to/arrow.png);"
  17. //"}"
  18. "QComboBox QAbstractItemView::item {"
  19. " height: 40px;" // 每一项固定高度
  20. " padding-top: 10px;" // 项目顶部内边距
  21. " padding-bottom: 10px;" // 项目底部内边距
  22. " margin-bottom: 5px;" // 增加每个项目底部的间隔
  23. "}"
  24. "QComboBox QAbstractItemView {"
  25. " border: 1px solid rgb(102, 138, 222);"
  26. " background-color: white;"
  27. " selection-background-color: #f5f7fa;"
  28. " selection-color: #409eff;"
  29. "}");

注意事项:

  • margin 属性可能无法直接用于某些视图元素,因此如果你发现它不起作用,可以考虑其他策略,如自定义模型。
  • 在实际应用中,如果你的需求较为复杂,建议创建自定义 QWidget 或 QListView 来更好地控制展示效果。


    内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22194

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?