ZBLOG

QString comboBoxStyle = QString( "QComboBox {" " border: 1px solid rgb(102, 138, 222);" // 边框颜色 " border-radius: 4px;" // 边框圆角 " padding: 5px;" // 内边距 " ...

要将这两个样式表组合在一起并设置到 QComboBox 上,可以按照以下方式修改代码:

  1. 将你的所有样式表合并为一个字符串。
  2. 使用 setStyleSheet 方法一次性应用这个合并后的样式。

以下是整合后的代码示例:

QString comboBoxStyle = QString(
    "QComboBox {"
    "    border: 1px solid rgb(102, 138, 222);"  // 边框颜色
    "    border-radius: 4px;"                    // 边框圆角
    "    padding: 5px;"                          // 内边距
    "    background-color: white;"               // 背景颜色
    "}"
    
    "QComboBox::drop-down {"
    "    subcontrol-origin: padding;"
    "    subcontrol-position: right center;"     // 下拉箭头位置
    "    width: 20px;"                          // 下拉箭头宽度
    "    border-left: 1px solid rgb(102, 138, 222);" // 下拉箭头左侧边框
    "}"

    "QComboBox::down-arrow {"
    "   image: url(:/path/to/arrow.png);"       // 自定义下拉箭头图标(可选)
    "}"

    "QComboBox QAbstractItemView {"
    "   border: 1px solid rgb(102, 138, 222);"  // 下拉列表边框
    "   background-color: white;"               // 下拉列表背景颜色
    "   selection-background-color: #f5f7fa;"   // 项目悬浮背景颜色
    "   selection-color: #409eff;"              // 项目悬浮字体颜色
"   }"

"QComboBox QAbstractItemView::item {"
"     height:28px;"                             // 每一项固定高度
"     padding-top:10px;"                        // 顶部内边距(如果需要)
"     padding-bottom:10px;"                     // 底部内边距(如果需要)
"     margin-bottom:5px;"                       // 增加每个项目底部的间隔(注意:margin可能不生效)
"}");

// 设置组合的样式表到comboBox上
ui->comboBox->setStyleSheet(comboBoxStyle);

注意事项:

  • Qt 的样式表对 marginspacing 属性的支持可能有限,尤其是在某些情况下,如 QAbstractItemView::item。你可以使用 padding 来调整内容与 item 边界之间的空间,但 item 与 item 间的空间则通常需要其他方法来实现。
  • 为了确保效果,你可能还需要检查整体布局和其父组件设置,以确保样式能够正确显示。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?