创建对输入透明的Qt全屏窗口

时间:2020-02-11 03:30:38

标签: python qt pyqt pyqt5 x11

我想用PyQt5创建一个全屏窗口,该窗口始终位于顶部,并且对输入透明:也就是说,单击它时好像没有它一样,也无法获得焦点。

使用一个非常基本的程序:

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

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = QWidget()
    w.setWindowFlags(Qt.WindowTransparentForInput)
    w.showFullScreen()
    sys.exit(app.exec_())

这失败。如果我没有设置Qt.WindowTransparentForInput,那么它可以正常工作;窗口是全屏,如预期的那样。当然,它会拦截点击。添加Qt.WindowTransparentForInput意味着该窗口将不再变为全屏;它以某种随机大小出现。同样,设置了Qt.WindowTransparentForInput的窗口无法正确响应resize()方法。如何在我要求的尺寸和位置上有一个透明的输入窗口?

0 个答案:

没有答案