当前位置: 代码迷 >> QT开发 >> Qt中应用QFrame和QPushbutton模拟QCombobox
  详细解决方案

Qt中应用QFrame和QPushbutton模拟QCombobox

热度:90   发布时间:2016-04-25 03:42:21.0
Qt中使用QFrame和QPushbutton模拟QCombobox
最近实现一个类似combobox弹出popup的功能,
因为要弹出的窗口不是QAbstractItemView 类型,所有没有办法使用
QComboBox::setView ( QAbstractItemView * itemView )

只好,通过使用按钮和QFrame模拟QCombobox,伪代码如下
QFrame* popup = new QFrame(Qt::popup);

然后在按钮点击实现中popup.show(),这样已实现模拟combobox的基本功能,但是有一点缺陷:
弹出popup后,再次点击按钮,不会隐藏popup,这个时机也不好掌握,请高手指点一二,看看是不是有更好的方法实现模拟combobox的功能?谢谢
Qt ComboBox

------解决方案--------------------
引用:
那就用普通无边框窗口好了,不用 Popup,其实感觉你的这个要求挺奇怪的。

我也做过一个,其实很好做,popup窗口,弹出的时候自己计算位置,自动隐藏,没啥复杂的。
------解决方案--------------------
可以对整个程序用事件过滤器,鼠标点击的时候如果不在此popup窗口上,隐藏它。