我有一个Qt小部件,它有一个布局,里面有更多的小部件。当我禁用小部件时,整个小部件变得很少褪色,不再可能进行修改。我想要禁用小部件所带来的功能,但我不希望它的外观发生变化。请告诉我如何做到这一点。
我想到的几点想法:
答案 0 :(得分:0)
使用QObject::installEventFilter()
和QObject::eventfilter()
。
请记住Qt调度GUI事件的方式,特别是儿童首先获取事件。因此,您需要在所有小部件上递归安装事件过滤器,并观察QEvent::ChildAdded
。
这不是一个好的解决方案。样式表倾向于打破QStyle
机制,这可能导致副作用。
QPixmap
隐藏所有子窗口小部件,将它们渲染为QPixmap
并在paintEvent
中绘制像素图。