Qt 中按钮点击不响应问题

昨天发现有个Widget上添加的按钮点击不响应问题。
排查了所有原因之后发现,是因为此Widget的父控件上又添加了其他Widget,覆盖在了按钮上,因此无法点击。
可使用以下方法使按钮活Widget上置于顶层、置于底层,以及添加指定widget到widget之下:

// widget置于上层
widget->raise();

// otherWidget置于widget下层
otherWidget->stackUnder(widget);

// otherWidget置于底层
otherWidget->lower();

raise函数相当于iOS里的:bringSubviewToFront;
stackUnder函数相当于iOS里的: exchangeSubviewAtIndex;
lower函数相当于iOS里的:bringSubviewToBack;

Android里也有类似的bringToFront改变图层z轴值。

推荐阅读更多精彩内容