2013-05-17 3 views

ответ

1

Боюсь, вам придется наследовать QLineEdit и переопределить void mouseMoveEvent (QMouseEvent * event) и void mousePressEvent (QMouseEvent * event) (или void mouseReleaseEvent (QMouseEvent * event) если вы хотите). И не забудьте позвонить setMouseTracking(true);, чтобы отслеживать перемещения мыши, когда не удерживается кнопка мыши.

3

Вы можете установить event filter на свой QLineEdit.

Вот пример:

QLineEdit *line_edit = new QLineEdit(this); 
ui->verticalLayout->addWidget(line_edit); 
line_edit->installEventFilter(this); 

И в функции фильтра событий вы можете сделать что-то вроде этого: (Это функция перекручивания)

bool MainWindow::eventFilter(QObject *obj, QEvent *event) 
{ 
    if(event->type() == QEvent::MouseButtonPress) 
    { 
     qDebug() << "CLICK"; 
    } 
    if(event->type() == QEvent::MouseMove) 
    { 
     qDebug() << "MOUSE OVER"; 
    } 
    return false; 
} 
Смежные вопросы