0

我有一个组合框,它有 3 个项目,即项目 1、项目 2 和项目 3。我在 .ui 文件中添加了这 3 个项目,还使用资源文件为所有项目添加了一个图像。现在,当我运行应用程序时,它会在组合框中显示第一项以及向左显示的图像。当我单击下拉菜单时,我可以看到所有项目以及图像。

我基本上想做的只是在组合框中显示图像,当用户单击下拉菜单时,它也应该显示图像和文本。

场景: Combobox里面的item和image添加如下:

Image 1 Item 1
Image 2 Item 2
Image 3 Item 3

当我运行应用程序时,它应该在组合框中显示为

Image1

因为默认情况下会显示第一项。我认为可以在绘制当前选择时完成,QCombobox 使用重新植入:void MyCombo::paintEvent(QPaintEvent *e)这是我不知道的。

任何人都可以帮助我吗?:)

我怎样才能实现它???

4

1 回答 1

0

您应该继承一个 QComboBox 并重新实现void QComboBox::showPopup () [virtual]
PS 如果您重新实现此函数以显示自定义弹出窗口,请确保调用 hidePopup() 来重置内部状态。
我的第二个想法是为组合框实现一个模型,但我现在不知道弹出元素是否有任何作用。

于 2012-12-18T11:27:05.730 回答