Se inserisco uno MouseArea
su un elemento QML, quindi MouseArea
ruberà tutti gli eventi del mouse. Pertanto, TextEdit
non sarà modificabile e non selezionabile.MouseArea ha rubato gli eventi del mouse dell'elemento QML
TextEdit {
// some properties
MouseArea {
// some properties
OnClicked: { /* do something */ }
}
}
C'è un modo per risolverlo?
A proposito, se metto un grande MouseArea
su un altro MouseArea
, il più grande MouseArea
ruberà tutti gli eventi del mouse. Come ho risolto? Penso che passare manualmente gli eventi del mouse possa risolverlo, ma come farlo?
Stavo cercando una soluzione per qualcos'altro quando mi sono imbattuto in questo, e ho pensato di far notare che ci sono alcuni gestori di segnale per i quali l'impostazione 'mouse.accept = false' non ha effetto (cerca i documenti di 'MouseArea' per' non ha effetto' per trovarli tutti). – Mitch
Questa soluzione non funziona se voglio aggiornamenti continui su mouseX e mouseY. Cambia il TextEdit nel codice di esempio sopra per mostrare la posizione X, Y del mouse e vedrai che smette di aggiornarsi ogni volta che si preme il pulsante del mouse. L'impostazione "mouse.accepted = false" in onPressed fa sì che le proprietà MouseArea non vengano aggiornate fino a quando il pulsante non viene rilasciato. Non sono sicuro se questo è un bug? –