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

时间:2015-02-12 15:28:24

标签: python qt qt-creator pyside qdialog

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

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

我需要一个没有os装饰的对话框,如标题栏,状态栏,...... 而且这个对话必须是模态的,或者至少它必须在我点击其边界时关闭。

模态行为由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命令模态对话框有效,但会显示标题栏。

1 个答案:

答案 0 :(得分:1)

我已经解决了使用此命令:

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

而不是:

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