c++ - studio - Widget de pantalla completa
widget reloj moto g4 (2)
¿Cómo puedo hacer mi widget a pantalla completa? He intentado algo como esto:
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();
}
Pero el widget no se trata de paneles del sistema. ¿Alguna otra idea?
OS: Linux
Este código le permitirá establecer una pantalla completa haciendo doble clic y volver a la vista normal haciendo doble clic de nuevo.
void myWidget::mouseDoubleClickEvent(QMouseEvent *e) {
QWidget::mouseDoubleClickEvent(e);
if(isFullScreen()) {
this->setWindowState(Qt::WindowMaximized);
} else {
this->setWindowState(Qt::WindowFullScreen);
}
}
QWidget::showFullScreen()
es lo que necesita, funciona muy bien en Linux + Windows en mis proyectos durante años, pero tenga cuidado, no debería haber dos llamadas de esta función (por ejemplo, la primera llamada de QMainWindo->showFullScreen()
y luego MyWidget->showFullScreen()
).
ciao, Chris