【问题标题】:How to remove the arrow from a QCombobox popup?如何从 QCombobox 弹出窗口中删除箭头?
【发布时间】:2013-01-25 07:26:39
【问题描述】:

我有一个 QComboBox,单击时默认在左侧显示一个选择箭头 - 下面附有快照。

我的样式表如下

#define PROFILE_PAGE_COMBOBOX_CSS_ACTIVE " \
    QComboBox { \
        background:white; \
        border:1px solid gray \
    } \
    QComboBox::down-arrow { \
        image: url(:/images/profilecomboboxdropdown.png); width:15px; height: 15px; \
    } \
    QComboBox::drop-down { \
        subcontrol-origin: padding; \
        subcontrol-position: right; \
        width: 15px; \
        height: 15px; \
        border:0px; \
        padding-right:8px; \
    } \
    QComboBox QAbstractItemView { \
        border: 0px; \
        padding: 1px; \
        background-color: #ffffff; \
        color: gray; \
        selection-background-color: #ffffff; \
        selection-color: blue; \
    } \
"

this->m_CountryEdit->setStyleSheet(PROFILE_PAGE_COMBOBOX_CSS_ACTIVE);

我怎样才能摆脱这个选择箭头?我在 Mac 和 Windows 上都使用 Qt 4.7.4

【问题讨论】:

  • 这看起来很不寻常。你用的是哪种风格?
  • 我有同样的问题,我还没有找到解决办法
  • @FrankOsterfeld:我没有故意设置任何特定的样式。
  • Windows 7,Qt 4.7.3,编译器 MS Visual Studio 2010:screenshot
  • 这可能是由于您使用的 css 或您使用的 javascript。你能在这里写完整的css和aspx(或html)代码吗?

标签: css qt stylesheet


【解决方案1】:

这是一个特定于 mac 的问题,似乎有几种方法可以解决它 - 使用样式表定位使选择标记离开屏幕 - 通过删除周围的边框使其看起来不那么难看(这是一个删除使该边框显示的样式的问题) - 所以可能不要在组合框中设置“当前”项目

【讨论】:

  • “使选择标记离开屏幕” - 你能分享一个示例代码吗?