如何在Qt中将小部件带到最前面?

23
请看这张截图:

enter image description here

圆圈是自定义控件。当我点击一个控件时,我需要将小部件置于最前面。例如,如果我点击第二个圆圈,它应该像这样:

enter image description here

当单击控件时,我可以获取发送器(即控件)。唯一的问题是如何将对象置于前面。
请帮我解决这个问题。

你能具体说明一下你的圆是什么类型吗?以及你正在绘制它们的区域是什么类型? - Live
1个回答

69

你尝试过使用QWidget::raise()吗?

将当前窗口置于父窗口堆栈的顶部。此调用后,该窗口将在任何重叠兄弟窗口前可视。
注意:当使用activateWindow()时,可以调用此函数确保窗口位于顶部。

我通常使用的模式是确保一个窗口被显示、置于兄弟窗口的前面,并置于其他应用程序的前面:

widget->show();
widget->activateWindow();
widget->raise();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接