سؤال

لدي QMdiSubWindow وأنا بحاجة إلى تصفية الحدث تصغير حتى أستطيع ببساطة hide() النافذة.

لقد حاولت ما يلي:

void accounts::changeEvent ( QEvent *event )
{
     if(event->QEvent::WindowStateChange) {
          event->ignore(); 
     }
}

يقوم هذا بتصفية جميع تغييرات حالة النافذة ، مثل تكبير.أحتاج إلى تقليل الحدث حصريا.

event->ignore() لا يتجاهل أي شيء.حاولت أيضا event->setAccepted(false), ، والتي لم تنجح أيضا في إلغاء الأحداث.

هل كانت مفيدة؟

المحلول

void accounts::event(QEvent *e)
{
  if (e->type() == QEvent::WindowStateChange) {
    if (isMinimized()) {
      hide();
      e->ignore();
    } else {
      e->accept();
    }
  }
  QMdiSubWindow::event(e);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top