문제

위젯 전체 화면을 어떻게 만들 수 있습니까? 나는 다음과 같은 것을 시도했다 :

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

그러나 위젯은 시스템 패널을 초과하지 않습니다. 다른 아이디어가 있습니까?

OS : Linux

도움이 되었습니까?

해결책

QWidget::showFullScreen() 필요한 것입니다 - 몇 년 동안 내 프로젝트의 Linux+Windows에서 훌륭하게 작동합니다. 그러나 조심하십시오.이 기능의 두 번의 호출은 없습니다 (예 : 첫 번째 호출 QMainWindo->showFullScreen() 그리고 MyWidget->showFullScreen()).

Ciao, Chris

다른 팁

이 코드를 사용하면 두 번 클릭하여 전체 화면을 설정하고 다시 다시 클릭하여 일반보기로 돌아갈 수 있습니다.

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