Text auf Cursor-Position anzeigen
-
raven-worx
- Beiträge: 33
- Registriert: 11. September 2007 19:34
Text auf Cursor-Position anzeigen
Hi,
wie kann ich einen Text oder QLabel auf der derzeitigen Position anzeigen? Also wie einen Tooltip, der ständig auf der Position des Mauszeigers ist.
danke.
mfg
wie kann ich einen Text oder QLabel auf der derzeitigen Position anzeigen? Also wie einen Tooltip, der ständig auf der Position des Mauszeigers ist.
danke.
mfg
QWidget ohne Rand mit transparentem Hintergrund + einem QLabel
[???]
Dann einen Button bauen oder irgendwas anderes verwenden das auf Mouse Events reagieren kann.
[/???] <- Blödsinn Äh habe nicht richtig gelesen
Eintritt: SelfMadeToolTip an
Austritt: --"-- aus
Problem:
1. keine Ahnung wie man den Rand weg
2. und die Transparents hinbekommt? hier mal nachfragen: http://qtforum.de/forum/viewtopic.php?t=10466
[???]
Dann einen Button bauen oder irgendwas anderes verwenden das auf Mouse Events reagieren kann.
[/???] <- Blödsinn Äh habe nicht richtig gelesen
Eintritt: SelfMadeToolTip an
Austritt: --"-- aus
Problem:
1. keine Ahnung wie man den Rand weg
2. und die Transparents hinbekommt? hier mal nachfragen: http://qtforum.de/forum/viewtopic.php?t=10466
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
(W. Heisenberg)
-
-=Freaky=-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
-
raven-worx
- Beiträge: 33
- Registriert: 11. September 2007 19:34
ähhh...
habe ich dich falsch verstanden?
Mouse oder Cursor Position holen: int QMouseEvent::globalX () const
oder int cursorPosition () const und als nächstes diese Pos an dein Widget + Qlabel übergeben?
habe ich dich falsch verstanden?
Mouse oder Cursor Position holen: int QMouseEvent::globalX () const
oder int cursorPosition () const und als nächstes diese Pos an dein Widget + Qlabel übergeben?
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
(W. Heisenberg)
-
raven-worx
- Beiträge: 33
- Registriert: 11. September 2007 19:34
habe zufällig gerade die QToolTip-Klasse gefunden. Mein Code sieht wie folgt aus. Bei gehaltenem Drag über dem Widget soll ein Tooltip angezeigt werden:
Ich denke das liegt daran, dass dragLeaveEvent auch aufgerufen wird, wenn über Widgets gefahren wird, die innerhalb dieses Widgets dargestellt werden? Wenn ja, was kann ich dagegen tun?
danke.
mfg
Dies liefert allerdings kein befriedigendes Ergebnis, da der ToolTip nicht sehr zuverlässig angezeigt wird, und beim Bewegen der Maus verschwiendet und wiederkommt.void Namespace::dragMoveEvent ( QDragMoveEvent * event ) {
QToolTip::hideText(); // da bei selben text die position nicht verändert wird
QToolTip::showText( QCursor::pos(),"ToolTip Text", this );
};
void Namespace::dragLeaveEvent( QDragLeaveEvent * event ) {
QToolTip::hideText();
};
Ich denke das liegt daran, dass dragLeaveEvent auch aufgerufen wird, wenn über Widgets gefahren wird, die innerhalb dieses Widgets dargestellt werden? Wenn ja, was kann ich dagegen tun?
danke.
mfg
hi, noch wach???
also unter LabView hatte ich dafür immer das MouseEintritts Event benutzt das garantiert dir eine längere Anzeige deines QLabel und das darf dann aber erst "aktiv" sein wenn ein DragEvent gesndet wurde.
Wenn ein MouseAustritt woraus auch immer? statt fand einfach sehen ob schon ein DropEvent stattgefunden hat wenn auch das Ja = QLabel aus.
Sorry Qlabel = QtoolTip hideText().
also unter LabView hatte ich dafür immer das MouseEintritts Event benutzt das garantiert dir eine längere Anzeige deines QLabel und das darf dann aber erst "aktiv" sein wenn ein DragEvent gesndet wurde.
Wenn ein MouseAustritt woraus auch immer? statt fand einfach sehen ob schon ein DropEvent stattgefunden hat wenn auch das Ja = QLabel aus.
Sorry Qlabel = QtoolTip hideText().
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
(W. Heisenberg)
-
raven-worx
- Beiträge: 33
- Registriert: 11. September 2007 19:34
ja.24dan hat geschrieben:hi, noch wach???
Konnte keine Methode für MouseEnter finden?24dan hat geschrieben: also unter LabView hatte ich dafür immer das MouseEintritts Event benutzt das garantiert dir eine längere Anzeige deines QLabel und das darf dann aber erst "aktiv" sein wenn ein DragEvent gesndet wurde.
Das hätte aber auch den Effekt, wenn ich nur kurz mit einem Drag in das Widget fahre und das Widget wieder verlasse, wird mir das Label nicht mehr deaktiviert und bleibt angezeigt, bis zum nächsten Drop-Versuch.24dan hat geschrieben: Wenn ein MouseAustritt woraus auch immer? statt fand einfach sehen ob schon ein DropEvent stattgefunden hat wenn auch das Ja = QLabel aus.
Gibt es keine elegante Lösung, den Drag-n-Drop Bereich auch auf die Kinder zu übertragen, bzw. diese nicht stören zu lassen?
mfg