我有一个Combobox有3个项目,即项目1,项目2和项目3.我在.ui文件中添加了这3个项目,并且还使用资源文件为每个项目添加了一个图像。现在,当我运行应用程序时,它会显示组合框中的第一个项目以及左侧的图像。当我点击下拉列表时,我可以看到所有项目以及图像。
我基本上想要做的只是在组合框中显示图像,当用户点击下拉列表时,它也应该显示图像和文本。
场景:Combobox中的项目和图片添加如下:
Image 1 Item 1
Image 2 Item 2
Image 3 Item 3
当我运行应用程序时,它应该在组合框中显示为
Image1
因为默认显示第一项。我认为在绘制当前选择时可以完成,QCombobox使用重新植入:void MyCombo::paintEvent(QPaintEvent *e)
这是我不知道的。
任何人都可以帮助我吗? :)
我怎样才能实现呢?
答案 0 :(得分:0)
您将继承QComboBox并重新实现void QComboBox::showPopup () [virtual]
附:如果重新实现此功能以显示自定义弹出窗口,请确保调用hidePopup()以重置内部状态。
我的第二个想法是实现一个组合框架的模型,但我现在不会对弹出元素有任何不满。