Anzeige:
Ergebnis 1 bis 3 von 3

Thema: QT & MousePressEvent

  1. #1
    Registrierter Benutzer
    Registriert seit
    29.11.2002
    Beiträge
    8

    QT & MousePressEvent

    Also, ich hab in ner QT anwendung einen Frame, in den ich mit bitBlt sachen reinzeichne, jetzt möchte ich noch einen handler dafür haben, wenn ich auf den frame klicke... bei den signalen gibts da leider nix (.

    Irgendwo hab ich gelesen dass man da n eigenes Widget erstellen muss oder so, aber ich hab keinen plan wie das geht,

    ne kleine aufklärung wäre net schlecht ;-)

    danke schonmal

  2. #2
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    hi,

    du musst dein eigenes widget erstellen, das du dann von QWidget ( oder einer QWidgetsubclass ) ableitest:

    class MyWidget : public QWidget {}

    und in der klasse musst du die virtual funktion MousePressEvent reimplementieren.

    Code:
    void QWidget::mousePressEvent ( QMouseEvent * e ) [virtual protected] 
    This event handler, for event e, can be reimplemented in a subclass to receive mouse press events for the widget. 
    If you create new widgets in the mousePressEvent() the mouseReleaseEvent() may not end up where you expect, depending on the underlying window system (or X11 window manager), the widgets' location and maybe more. 
    The default implementation implements the closing of popup widgets when you click outside the window. For other widget types it does nothing. 
    See also mouseReleaseEvent(), mouseDoubleClickEvent(), mouseMoveEvent(), event() and QMouseEvent. 
    Examples: biff/biff.cpp, drawlines/connect.cpp, iconview/simple_dd/main.cpp, life/life.cpp, qmag/qmag.cpp, scribble/scribble.cpp and tooltip/tooltip.cpp. 
    Reimplemented in QSizeGrip.
    also:

    void MyWidget::MousePressEvent( QMouseEvent * e ) {}


    .... und da dann eben die states behandeln.


    ciao tuxipuxi

    ( falls das net klar genug war kannst du ja mal im irc vorbeischauen ( siehe sig ) )

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Du kannst auch einen Blick ins Tutrial in diesem Forum werfen.

    Da gibt es eine Lektion für Handhabung von MouseEvents
    (Lektion 5)

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •