سؤال

كيف يمكنني جعل القطعة بلدي ملء الشاشة؟ لقد جربت شيئا مثل هذا:

void MainWindow::SetFullScreen()
{
    // Make our window without panels
    this->setWindowFlags( Qt::FramelessWindowHint | Qt::Tool | Qt::WindowStaysOnTopHint );
    // Resize refer to desktop
    this->resize( QApplication::desktop()->size() );

    this->setFocusPolicy( Qt::StrongFocus );
    this->setAttribute(Qt::WA_QuitOnClose, true);

    qApp->processEvents();
    show();
    this->setFocus();
}

لكن القطعة ليست أكثر من لوحات النظام. أي أفكار أخرى؟

نظام التشغيل: Linux.

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

المحلول

QWidget::showFullScreen() هو ما تحتاجه - يعمل بشكل رائع تحت نظام Linux + Windows في مشاريعي لسنوات - ولكن كن حذرا، لا ينبغي أن يكون هناك دعوة من هذه الوظيفة (على سبيل المثال، أول نداء QMainWindo->showFullScreen() وثم MyWidget->showFullScreen()).

تشاو، كريس

نصائح أخرى

سيتيح لك هذا الرمز تعيين ملء شاشة بالنقر المزدوج والعودة إلى العرض العادي بالنقر المزدوج مرة أخرى.

void myWidget::mouseDoubleClickEvent(QMouseEvent *e) {
  QWidget::mouseDoubleClickEvent(e);
  if(isFullScreen()) {
     this->setWindowState(Qt::WindowMaximized);
  } else {
     this->setWindowState(Qt::WindowFullScreen);
  }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top