我在QComboBox中有一个值列表。单击下拉箭头时,我需要更新列表并显示给用户以供选择。我如何实现这一点?单击下拉箭头时,我应该捕捉到哪个信号?
发布于 2016-12-29 03:46:48
我不完全理解你想要做什么,但是要在显示列表之前做一些事情,你必须覆盖这个方法:
void showPopup();但我得警告你。通常这不是你想要的。您在QComboBox上所看到的只是一个视图。因此,当您单击QComboBox时,实际发生的情况是框架绘制小部件及其包含的项。如果您想要更改项目的表示形式(更改文本颜色、更改背景文本等)。)您应该继承QItemDelegate并重新实现paint方法。
如果要更改选定的文本,则必须从QComboBox继承并重新实现paintEvent。
如何做到这一点的一个例子是:QComboBox elided text on selected item。
https://stackoverflow.com/questions/41060978
复制相似问题