• 7360阅读
  • 4回复

qcombobox怎么向上 [复制链接]

上一主题 下一主题
离线water_wf
 

只看楼主 倒序阅读 楼主  发表于: 2008-11-14
— 本帖被 XChinux 执行加亮操作(2008-11-30) —
怎么让qcombobox默认向上弹出呢,而且箭头也向上
离线vrcats
只看该作者 1楼 发表于: 2008-11-16
这个是QComboBox自己根据位置和屏幕大小自动调整的,要想强制让它总是向上,可能会产生问题。办法不是没有,但是很复杂。

首先你要重写你需要的style,在函数drawComplexControl(QStyle::CC_ComboBox...)里面把箭头改为永远向上。

然后,你要修改QComboBox::showPopup()的代码,强制listRect的纵向位置一直在原始位置以上。

当然修改Qt代码不是个好主意,但是很多资源都是private的,如果不修改代码无异于重写一个QComboBox。
离线water_wf

只看该作者 2楼 发表于: 2008-11-16
我的意思默认向上弹出,qtcreator里面就可以向上弹出,不过没源码,那个兄弟能搞到它的代码呢
离线htyoung

只看该作者 3楼 发表于: 2008-11-17
试了一下,如果你把qcombobox 放在windows的最下面,它就会向上,也就是说,Qcombobox本身就有这个功能,

你只要继承这个类重写部分代码,完全可以实现,
最简单的可能就是假设你的combobox位置在下面.
***
QT5
***
离线water_wf

只看该作者 4楼 发表于: 2008-11-18
谢谢各位,其实我想把那个combox放在最下面,已经实现了自己写的用QListWidge来模拟弹出的控件,主要是位置控制
快速回复
限100 字节
 
上一个 下一个