Всем привет. Собственно зашел в тупик, прошу помощи. Хочу постоянно держать маленькую картинку поверх вообще всего. Кроме питона ничего не знаю, поэтому набросал вот такой скриптик:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
__author__ = 'evgeny'
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
if __name__ == '__main__':
app = QApplication(sys.argv)
class trayApp(QSystemTrayIcon):
def __init__(self, parent=None):
QSystemTrayIcon.__init__(self, parent)
self.splash = QSplashScreen(QPixmap('x.png'), Qt.WindowStaysOnTopHint)
self.splash.show()
# Таймер добавил для циклического поднятия наверх
self.timer = QTimer()
self.connect(self.timer, SIGNAL('timeout()'), self.raising)
self.timer.start(1000)
self.quitAction = QAction(self.tr('&Exit'), self)
self.connect(self.quitAction, SIGNAL('triggered()'), app, SLOT('quit()'))
self.trayMenu = QMenu()
self.trayMenu.addAction(self.quitAction)
self.trayIconImage = QIcon('x.png')
self.setIcon(self.trayIconImage)
self.setContextMenu(self.trayMenu)
self.show()
def raising(self):
self.splash.raise_() # не помогает
print('Raised!')
main = trayApp()
sys.exit(app.exec_())
Some X11 window managers do not support the "stays on top" flag. A solution is to set up a timer that periodically calls raise_() on the splash screen to simulate the "stays on top" effect.
Может быть я вообще не туда копаю, и есть решение проще?