我在应用程序中使用一个
Dialog {}
实例来显示一个小的控制器窗口,用户可以与之交互以影响主窗口中的功能(类似于遥控器)。我可以使这个对话框模态(modality: Qt.WindowModal
或modality: Qt.ApplicationModal
),或者我可以使用modality: Qt.NonModal
使其非模态。
我的问题是,我需要使它非模态,但始终位于主窗口的顶部。如果我使用Qt.NonModal
,我仍然可以点击主窗体,但我的对话框就会被隐藏在后面。Dialog
类似乎没有flags:
属性,所以我不能只将其设置为Qt.WindowsStaysOnTopHint
。
有没有办法仅从QML端设置此对话框的标志?或者是否可以编写一个简单的C++实用程序方法,我可以从我的对话框的Component.onCompleted:
中调用并传递对话框以在那里设置其窗口标志?
更新:为了说明我在谈论什么,这里是我的对话框位于主窗口顶部的示例:
这是我的对话框位于主窗口下方:
我希望我的对话框不会像这样被主窗口覆盖,但我仍然希望能够点击和与我的主窗口交互。换句话说,我想要我的对话框是非模态的,但始终保持在最上面。