После введения QEvent невозможно вводить текст в QLineEdit

Компьютеры программирование программы C++ qt

"dialogWindow.h"

protected:
bool eventFilter(QObject*, QEvent*);

void mouseMoveEvent(QMouseEvent*);
void mousePressEvent(QMouseEvent*);
void mouseReleaseEvent(QMouseEvent*);








"dialogWindow.cpp"

bool DialogWindow::eventFilter(QObject *obj, QEvent *event)
{
if(obj == ui->messageEnterArea){
if(event->type() == QEvent::KeyPress){
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);

if(keyEvent->key() == Qt::Key_Return || keyEvent->key() == Qt::Key_Enter){
if(keyEvent->modifiers() & Qt::ShiftModifier)
ui->messageEnterArea->insertPlainText("\n");
else{
emit returnPressedSignal();
ui->messageEnterArea->moveCursor(QTextCursor::Up);
}
}
}
}

return true; // NOTE: ??
}


void DialogWindow::mousePressEvent(QMouseEvent* event)
{
mpos = event->pos();
//this->setCursor(Qt::ClosedHandCursor);
prevPos = this->pos();
}

void DialogWindow::mouseMoveEvent(QMouseEvent* event)
{
if (event->buttons() && Qt::LeftButton) {
QPoint diff = event->pos() - mpos;
QPoint newpos = this->pos() + diff;

this->move(newpos);
}
}

void DialogWindow::mouseReleaseEvent(QMouseEvent *event)
{
//this->setCursor(Qt::OpenHandCursor);

static QRect prevGeometry;

if(this->pos() == prevPos){
if(isWindowMinimized){
ui->verticalLayout_3->setEnabled(true);
ui->verticalLayout->setEnabled(true);
ui->verticalLayout_2->setEnabled(true);
ui->verticalLayout_4->setEnabled(true);
ui->horizontalLayout->setEnabled(true);
ui->horizontalLayout_2->setEnabled(true);
ui->horizontalLayout_3->setEnabled(true);
ui->maximizeButton->show();
ui->fullScreenButton->show();

this->setSizeGripEnabled(true);
isWindowMinimized = false;
this->setMinimumSize(284,130);
this->setGeometry(this->x(), this->y(), prevGeometry.width(), prevGeometry.height());
}
else{
ui->verticalLayout_3->setEnabled(false);
ui->verticalLayout->setEnabled(false);
ui->verticalLayout_2->setEnabled(false);
ui->verticalLayout_4->setEnabled(false);
ui->horizontalLayout->setEnabled(false);
ui->horizontalLayout_2->setEnabled(false);
ui->horizontalLayout_3->setEnabled(false);
ui->maximizeButton->hide();
ui->fullScreenButton->hide();

prevGeometry = this->geometry();

this->setMinimumSize(284,30);
this->setGeometry(this->x(), this->y(), 284, 30);
this->setSizeGripEnabled(false);
isWindowMinimized = true;
}
}
}

Примечание:
Странно, но после удаления папки с билдом, удаления .pro.user и новой сборки и компиляции все работает O_o...
Кто объяснит, почему - того и баллы =)
Ответы:
Наверно остались скомпилированные файлы которые при повторной компиляции не отмечались как измененные, поэтому не были перекомпилены.
Возможно вы добавили в проект файлы moc или другие файлы которые должны генерироваться при каждом компилировании.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.