Как сделать программу над другими окнами?
Я хочу сделать программу, которая будет над другими окнами.
Это как? Например, вы знаете Flstudio? На экране появится фрукт, и вы не можете скрыть его. Но как сделать это?
Я поискал немало, но все-таки не нашел.
Ответы (2 шт):
Автор решения: S. Nick
→ Ссылка
Как вариант:
import sys
from PyQt5 import QtCore, QtWidgets, QtGui
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowFlags(QtCore.Qt.Window |
QtCore.Qt.FramelessWindowHint |
QtCore.Qt.WindowStaysOnTopHint)
window.setGeometry(750, 350, 100, 100)
pixmap = QtGui.QPixmap("Ok.png").scaled(100, 100,
QtCore.Qt.KeepAspectRatio,
QtCore.Qt.FastTransformation)
pal = window.palette()
pal.setBrush(QtGui.QPalette.Normal, QtGui.QPalette.Window,
QtGui.QBrush(pixmap))
pal.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window,
QtGui.QBrush(pixmap))
window.setPalette(pal)
window.setMask(pixmap.mask())
window.show()
sys.exit(app.exec_())
Ok.png
Автор решения: Павел
→ Ссылка
Если пользуетесь PyQt, то вам поможет сплэш скрин.
splash = QSplashScreen() # объявляем переменную
splash.setWindowFlag(Qt.WindowStaysOnTopHint) # ставим флаг "поверх всех окон"
splash.setPixmap(QPixmap('my_splash.png')) # задаем картинку
splash.show() # показываем юзеру
Не забудьте в последствии поставить splash.hide() и splash.destroy() в том месте где ваша заставка должна исчезнуть с экрана.
Ну и само собой в самом начале нужно импортировать необходимые библиотеки:
from PyQt5.QtWidgets import QSplashScreen
from PyQt5.QtGui import QPixmap
from PyQt5.Qt import Qt

