i want intercept signal when i press on a Qcombobox->linEdit(), key Backpace and clear all text. I have seen on web and i write this code, but it dont work. It seem that keypressevent function not is invoked.. Some tips???
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->comboBox->addItem("11");
ui->comboBox->addItem("21");
ui->comboBox->addItem("32");
ui->comboBox->addItem("41");
ui->comboBox->addItem("54");
}
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if (obj == ui->comboBox) {
if (event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
qDebug()<<"Ciao";
if (keyEvent->key() == Qt::Key_Backspace)
{
ui->comboBox->clearEditText();
return true;
}
}
// pass the event on to the parent class
return QMainWindow::eventFilter(obj, event);
}
}
MainWindow::~MainWindow()
{
delete ui;
}