- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 QGraphicsScene,我在其中显示一些 QGraphicsProxyWidgets,例如 QComboBox。在初始状态下,一切正常:
但是,一旦显示了组合框的弹出部分,它就不是在场景的顶部,而是在组合框以南的元素后面:
每当悬停组合框时,我已经为代理提供了高 Z 级别值,但这无济于事。
bool MyClass::sceneEventFilter(QGraphicsItem* pWatchedObj, QEvent* pEvent)
{
if(pEvent->type() == QEvent::GraphicsSceneHoverEnter)
{
if(pWatchedObj == m_pProxy)
{
m_pProxy->setZValue(zValue() + 200);
return false;
}
}
}
有人有想法吗?我是否必须以某种方式拦截鼠标按下事件并重新计算组合框大小(加上它的弹出窗口)以通知场景/ View 以根据 Z 级别进行适当的重新排序/排序?
最佳答案
QWidget 具有 raise() 方法,用于将小部件提升到父小部件堆栈的顶部。
通过widget()方法获取QGraphicsProxyWidget的widget,然后使用raise()方法。
函数将是:
bool MyClass::sceneEventFilter(QGraphicsItem* pWatchedObj, QEvent* pEvent)
{
if(pEvent->type() == QEvent::GraphicsSceneHoverEnter)
{
if(pWatchedObj == m_pProxy)
{
m_pProxy->widget()->raise();
return false;
}
}
}
试试上面的改变。它应该运作良好。
关于qt - QComboBox 的弹出窗口作为 QGraphicsProxyWidget 被遮挡/相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35148904/
我无法找出为什么会出现以下问题:在使用“extends Frame”创建窗口的程序中,我可以使用 BufferedImage 绘制到 Frame(而非 JFrame)的图形上下文,并且它看起来很好。但
我找到了一些示例代码。 它通过AppDelegate.m中的代码显示 View - (BOOL)application:(UIApplication *)application didFinishLa
我在 Objective-C 应用程序中成功使用了 Core Plot。我正在用 Swift 编写一个新应用程序,但遇到了一些麻烦。在我为图表设置 dataSource 之前,坐标轴显示正确且符合预期
多年来我一直在尝试来自 KDE/MATE 的很棒的东西,我真的很喜欢它。在我之前的工作流程中,我真的只遗漏了一件事。 有时我会使用具有大量 float 窗口的应用程序。我发现在 float WM 中非
我创建了默认的底部导航项目。在其中一个 fragment 中,我添加了一个 ListView,效果很好。然后我将其更改为 RecyclerView,它被 BottomNavigationView 遮挡
让两个自定义 View 一起工作时,我遇到了一个非常烦人的问题。我试图在 android Activity 中显示这两个 View ,但其中一个占据了 Activity 的整个可视空间,另一个位于其下
我正在尝试在我的 UITableViewController 中使用 UIRefreshControl,它本身位于 UINavigationController 中,它有它的 hidesNavigat
我是一名优秀的程序员,十分优秀!