Qml (QtQuick2) прозрачное событие мыши для системы - PullRequest
0 голосов
/ 13 марта 2020

с pyside (qt4) Я могу использовать QDeclarativeView, чтобы сделать символ легко прозрачным.

нравится это изображение

enter image description here

Я могу также перетащите этот текст, щелкнув по символу точно

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.

...