문제
위젯 전체 화면을 어떻게 만들 수 있습니까? 나는 다음과 같은 것을 시도했다 :
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);
}
}
제휴하지 않습니다 StackOverflow