PyQt5 显示全屏对话框

Posted

技术标签:

【中文标题】PyQt5 显示全屏对话框【英文标题】:PyQt5 show fullscreen dialog 【发布时间】:2018-06-03 08:21:15 【问题描述】:

我希望我的对话框是全屏的。我使用该代码:

import sys
from PyQt5.QtWidgets import QApplication, QDialog


app = QApplication(sys.argv)
dialog = QDialog()
dialog.showFullScreen()
app.exec()

但对话框保持正常状态。我的平台是 Ubuntu 16.04。

【问题讨论】:

在 qt4 上测试。同样的问题 在 archlinux 上运行良好 - 一定是 ubuntu 问题。 @ekhumoro 你用的是哪个版本的pyqt5? 目前 qt-5.11.0 / pyqt-5.10.1 和 qt-4.8.7 / pyqt-4.12.1,但它也适用于例如qt-5.6 / pyqt-5.6. 好吧,为什么不尝试升级到至少 qt-5.6?虽然,如果它(对我来说)适用于 qt4/pyqt4,我不明白为什么这会有所作为。在我看来,它仍然是一个 ubuntu 问题。 【参考方案1】:

感谢@ekhumoro 提示,这是一个奇怪的 Ubuntu 错误。解决办法是:

import sys
from PyQt5.QtWidgets import QApplication, QDialog
from PyQt5.QtCore import Qt


app = QApplication(sys.argv)
dialog = QDialog()
dialog.setWindowFlags(Qt.WindowCloseButtonHint | Qt.WindowType_Mask)
dialog.showFullScreen()
app.exec()

【讨论】:

您在哪里发现了这种变通方法?某处是否有错误报告? 这里有人在 Ubuntu 上遇到了同样的问题:cyberforum.ru/qt/thread1442644.html

以上是关于PyQt5 显示全屏对话框的主要内容,如果未能解决你的问题,请参考以下文章

Android让对话框全屏显示

在第二个屏幕上显示对话框/帧全屏唱 QT/c++

使用 DialogFragment 和导航库时将对话框显示为全屏或对话框

安卓导航组件。显示带有从箭头到十字的变形导航图标的全屏对话框

在我的情况下,几乎全屏显示对话框(使用 ActionBar 和覆盖)

PyQt5对话框