Qt4.7.0,QComboBox的setModelColumn函数需要在模型填充后再调用
在 Q t4.7.0的文档中, QComboBox一章的 modelColumn一段是这样的:
这个属性存储模型中可见的那一列.
如果在填充组合框之前设置这个属性,那么弹出的视图不会受影响,而会显示第一列 (使用这个属性的默认 值 ).
默认情况下,这个属性的值是0.
访问函数:
int |
modelColumn () const |
void |
setModelColumn ( int visibleColumn ) |
其中 斜体加粗下划线的一句话非常重要.本座刚开始看到文档时,没注意这句话.但是在实际写代码的时候发现不对劲.经过好长时间的试验,才发现,这个属性必须在模型填充完毕之后设置才能正常起作用.
这句话说的是,如果在模型填充数据之前设置这个 值,那么在弹出的列表中将仍然会显示模型中第一列的数据.不过本座试验的结果不是这样的,本座试验的结果中,弹出的列表是空的 (本座可以确定组合框中是有条目的,因为可以通过滚轮来切换条目) .不知道是 QT的文档没跟上代码还是怎么样. 反正,不管怎样,在填充模型之前设置这个属性的话,程序会不正常.
本座以前还没有在 Qt中看到这种必须在某种特定条件下才能设置的属性,这次是见识了.
Your opinionsHxLauncher: Launch Android applications by voice commands