Python PySide 模态 Qdialog 没有 OS 装饰(标题栏,...)

Python PySide modal Qdialog without OS decoration (title bar, ...)

我将开始使用 Python 和使用 PySide 的 Qt 编写 GUI。

我正在使用 Qt-creator 为我的应用程序生成 ui。

我需要一个没有 os 装饰的对话框,例如标题栏、状态栏... 这个对话框必须是模态的,或者至少当我点击它的边界外时它必须是 close。

模态行为由 qt-creator 设置: Dialog.setWindowModality(QtCore.Qt.WindowModal) Dialog.setModal(真)

我正在使用的 python 代码中:

def handle_menu(self):
    self.menu = QtGui.QDialog(self)
    menuUi = menuDialog.Ui_Dialog()
    menuUi.setupUi(self.menu)
    self.menu.setWindowFlags( QtCore.Qt.CustomizeWindowHint ) # Hide the OS decorations
    self.menu.show() 

如果我评论 setWindowFlags 命令模式对话框有效,但会显示标题栏,那么模态设置将不起作用。

我已经用这个命令解决了:

self.menu.setWindowFlags( QtCore.Qt.SplashScreen | QtCore.Qt.FramelessWindowHint )

而不是这个:

self.menu.setWindowFlags( QtCore.Qt.CustomizeWindowHint ) # Hide the OS decorations