我有一个组合框,其中包含3项,即项目1、项目2和项目3。我将这3项添加到.ui文件中,并为所有使用资源文件的所有人添加了一个图像。现在,当我运行应用程序时,它将显示combobox中的第一项,并向左显示一个图像。当我点击下拉时,我可以看到所有的项目与图像。
我主要想做的是在组合框中显示图像,当用户点击下拉菜单时,它也应该显示图像和文本。
场景:在组合框中添加项和图像如下:
Image 1 Item 1
Image 2 Item 2
Image 3 Item 3
当我运行这个应用程序时,它应该在组合框中显示为
Image1
因为默认情况下会显示第一项。我认为这是可以做到的,当画当前的选择,QCombobox使用重新植入:void MyCombo::paintEvent(QPaintEvent *e)
,这是我不知道的事情。
有人能帮我吗?
我怎样才能做到这一点?
发布于 2012-12-18 03:27:05
您应该继承QComboBox并重新实现void QComboBox::showPopup () [virtual]
如果您重新实现此函数以显示自定义弹出,请确保调用hidePopup()来重置内部状态。
第二个想法是为combobox实现一个模型,但我现在还不清楚,弹出元素是否有任何路由。
https://stackoverflow.com/questions/13931684
复制相似问题