【问题标题】:Qt QComboBox popup positionQt QComboBox 弹出位置
【发布时间】:2010-03-24 18:37:17
【问题描述】:

我正在开发一个包含可编辑QComboBox 的应用程序。当我在编辑字段中输入一些文本并按下组合框中的下拉箭头时,我观察到以下行为:

我的编辑行最终隐藏在项目 "e@abc.com" 后面。我希望在编辑字段下方弹出组合框列表,如下面的屏幕所示:

上面的第一个屏幕是在带有 Qt 4.5 的 Ubuntu 上拍摄的,而第二个屏幕是在带有 Qt 4.4 的 Suse 11 上拍摄的。我不知道 Qt 4.4 和 Qt 4.5 之间 QComboBox 弹出窗口的行为变化有任何差异。无论如何,我希望列表在两个发行版中的行为相同。

这是一个标准的 QComboBox,其 editable 属性设置为 on - 没有应用样式表或特殊格式。

如何在可编辑字段下方弹出列表,例如在第二个屏幕中?

【问题讨论】:

  • 嘿,您是否尝试向 Qt 开发人员询问可能存在的错误?
  • 我不确定这是一个错误,如果是,哪个版本实际上具有默认组合框的预期行为。我希望有一种方法可以自定义弹出位置,但我在 Qt 文档或 Google 中找不到此信息。
  • 我会创建一个小项目,您可以在其中轻松重现错误并在 Qt 的错误跟踪器上提问...他们会很快回复您!

标签: qt qcombobox


【解决方案1】:

这看起来像是一个风格问题,因为截图是用不同的风格拍摄的。也许您可以通过更改故障桌面的样式来开始调查。

【讨论】:

  • 我在两个桌面上都尝试了 Clearlooks 主题,并且行为是相同的。即使样式是原因,我怎么能强制组合框表现相同而不管桌面样式?
  • 确实是风格(不是主题)。原来这是用 qtconfig 配置的(我什至没有在 Ubuntu 上安装这个包)。我现在使用 setStyle("cleanlooks") 将我的 Qt 应用程序设置为使用 cleanlooks 样式,因此它在所有发行版上看起来都一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多