透明的 PyQT5 窗口不显示在全屏应用程序上
我目前正在尝试使用透明的 PyQT5 窗口为游戏制作叠加层。我当前的代码:
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.FramelessWindowHint | QtCore.Qt.X11BypassWindowManagerHint)
self.setGeometry(QtWidgets.QStyle.alignedRect(QtCore.Qt.LeftToRight, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop, QtCore.QSize(round(screeninfo.get_monitors()[0].width/3), round(screeninfo.get_monitors()[0].height/5)), QtWidgets.qApp.desktop().availableGeometry()))
self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)
self.show()
除了它不显示在全屏应用程序(如游戏)上。我是否可以设置一个属性,使其能够显示在全屏应用程序之上?
I am currently trying to make an overlay for games using a transparent PyQT5 window. My current code:
class MainWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.FramelessWindowHint | QtCore.Qt.X11BypassWindowManagerHint)
self.setGeometry(QtWidgets.QStyle.alignedRect(QtCore.Qt.LeftToRight, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop, QtCore.QSize(round(screeninfo.get_monitors()[0].width/3), round(screeninfo.get_monitors()[0].height/5)), QtWidgets.qApp.desktop().availableGeometry()))
self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)
self.show()
Except it doesn't show over fullscreened applications (like games). Is there an attribute I can set that can enable it to show on top of fullscreened applications as well?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论