FramelessWindowHint и WindowStaysOnTopHint не будут работатьPython

Программы на Python
Anonymous
FramelessWindowHint и WindowStaysOnTopHint не будут работать

Сообщение Anonymous »

Я хочу, чтобы моя программа PyQt5 была безрамочной и всегда находилась поверх экрана. Когда я использую WindowStayOnTopHint, он работает нормально, но когда я использую его с FramelessWindowHint, он становится безрамочным, но не остается над экраном. Проведя небольшое исследование, я нашел это, и там было сказано попробовать использовать setMask, но мне не удалось заставить его работать.

Вот мой код:

Код: Выделить всё

import sys

from PyQt5.QtCore import Qt
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QApplication, QLabel

class Invisible(QLabel):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.__press_pos = None
self.initUI()

def initUI(self):
self.setWindowFlags(Qt.WindowStaysOnTopHint)
self.setMask() #This is where I use the setMask function, but it raises an error

self.setAttribute(Qt.WA_TranslucentBackground)
self.setText("Drag me...")
self.setFont(QFont("Times", 50, QFont.Bold))
self.adjustSize()
self.move(QApplication.instance().desktop().screen().rect().center()
- self.rect().center())

def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
self.__press_pos = event.pos()

def mouseReleaseEvent(self, event):
if event.button() == Qt.LeftButton:
self.__press_pos = None

def mouseMoveEvent(self, event):
if self.__press_pos:
self.move(self.pos() + (event.pos() - self.__press_pos))

def main():
app = QApplication(sys.argv)
w = Invisible()
w.show()
return app.exec_()

if __name__ == '__main__':
sys.exit(main())
Этот код выдает ошибку:

Код: Выделить всё

TypeError: arguments did not match any overloaded call:
setMask(self, QBitmap): not enough arguments
setMask(self, QRegion): not enough arguments
Он запрашивает больше аргументов, но когда я даю ему больше аргументов, он говорит, что аргументов слишком много.
Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/505 ... -wont-work

Вернуться в «Python»