我在Deepin 20.2.1环境下,创建一个无边框(Qt::FramelessWindowHint)的QMainWindow window、创建一个DPlatformWindowHandle p(&window, &window),试图通过在DTK“注册”该窗口达到给普通窗口添加DXCB效果(如圆角、边框缩放)。期间遇到几个问题:
如果在window.show()之前创建DPlatformWindowHandle,则无论如何只能呈现无阴影、无法缩放的状态;
如果在window.show()之后创建,则大部分时候,窗口都会呈现无阴影、无法缩放的状态:

有的时候,窗口会具有与未注册到DXCB时一样的阴影,但仍无法缩放:

极个别时候窗口具有正常的圆角和正常的边框缩放:

作为对比,不注册到DXCB时无边框窗口的样式:

如果这样做能够生效,那么肯定有正确之处,但是我不知道这些问题发生的原因。如果这样的做法不正确,那么如何做才可以让普通的无边框QMainWindow具有DXCB的效果?