2013-05-17 63 views

回答

1

我怕,你必須繼承QLineEdit和覆蓋void mouseMoveEvent (QMouseEvent * event)void mousePressEvent (QMouseEvent * event)(或void mouseReleaseEvent (QMouseEvent * event)如果你願意的話)。不要忘記撥打setMouseTracking(true);來追蹤鼠標移動,當沒有鼠標按鈕時。

3

您可以在您的QLineEdit上安裝event filter

下面是一個例子:

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; 
}