StupidBeauty
Read times:314Posted at:Mon Nov 22 15:55:00 2010 - no title specified

Qt4.7.0,QComboBox的setModelColumn函数需要在模型填充后再调用

Q t4.7.0的文档中, QComboBox一章的 modelColumn一段是这样的:

modelColumn : int

这个属性存储模型中可见的那一列.

如果在填充组合框之前设置这个属性,那么弹出的视图不会受影响,而会显示第一列 (使用这个属性的默认 ).

默认情况下,这个属性的值是0.

访问函数:

int

modelColumn () const

void

setModelColumn ( int visibleColumn )

其中 斜体加粗下划线的一句话非常重要.本座刚开始看到文档时,没注意这句话.但是在实际写代码的时候发现不对劲.经过好长时间的试验,才发现,这个属性必须在模型填充完毕之后设置才能正常起作用.

这句话说的是,如果在模型填充数据之前设置这个 值,那么在弹出的列表中将仍然会显示模型中第一列的数据.不过本座试验的结果不是这样的,本座试验的结果中,弹出的列表是空的 (本座可以确定组合框中是有条目的,因为可以通过滚轮来切换条目) .不知道是 QT的文档没跟上代码还是怎么样. 反正,不管怎样,在填充模型之前设置这个属性的话,程序会不正常.

本座以前还没有在 Qt中看到这种必须在某种特定条件下才能设置的属性,这次是见识了.

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4