с pyside (qt4) Я могу использовать QDeclarativeView, чтобы сделать символ легко прозрачным.
нравится это изображение
Я могу также перетащите этот текст, щелкнув по символу точно
from PySide.QtCore import Qt
from PySide.QtGui import QApplication, QWidget, QMenu, QSystemTrayIcon
from PySide.QtDeclarative import QDeclarativeView
app = QApplication([])
tray = QSystemTrayIcon()
menu = QMenu()
menu.addAction("Quit").triggered.connect(app.quit)
tray.setContextMenu(menu)
view = QDeclarativeView()
view.setSource('main.qml')
view.setAttribute(Qt.WA_TranslucentBackground)
view.setStyleSheet("background-color:transparent")
view.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)
view.showFullScreen()
tray.show()
app.exec_()
код qml здесь
Я пытался использовать QQuickView и QQuickWidget в Pyside2 с тем же кодом. И я не может заставить событие мыши проходить через окно.
Редактировать :
все еще не решено. относящиеся к
QQuickView (QML), прозрачный для событий мыши
Как сделать "True Transparent" окном для курсора, желательно на чистом QML? (Qt 5.7)
Я также пробовал Qt.WA_TransparentForMouseEvents
, но это прозрачно для всех элементов файла qml.