Fullscreen widget
55,276
Solution 1
QWidget::showFullScreen()
is what you need - works great under Linux+Windows in my projects for years - but be careful, there shouldn't be two calls of this function (eg. first call of QMainWindo->showFullScreen()
and then MyWidget->showFullScreen()
).
ciao, Chris
Solution 2
This code will allow you to set a full screen by double clicking and to return back to the normal view by double clicking again.
void myWidget::mouseDoubleClickEvent(QMouseEvent *e) {
QWidget::mouseDoubleClickEvent(e);
if(isFullScreen()) {
this->setWindowState(Qt::WindowMaximized);
} else {
this->setWindowState(Qt::WindowFullScreen);
}
}
Author by
Hanut
Updated on December 17, 2020Comments
-
Hanut over 3 years
How can I make my widget fullscreen? I've tried something like this:
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(); }
But widget isn't over system panels. Any another ideas?
OS: Linux
-
Graphics Noob over 14 yearsUnless "MyWidget" is another window MyWidget->showFullScreen() won't do anything.
-
drahnr about 14 yearshow about multiple screen setups with XRandr,Eyefinity or Xinerama? Does this work properly?
-
3DH about 14 yearsmultiple screens should work - but by default showFullscreen() only uses one screen - but you can determine the whole desktop size (inluding multiple monitors/screens) and set the geometry manually...
-
stach over 13 yearsFullscreen works but i have a white frame around my window - how can i remove it?
-
3DH over 13 yearsNormally you don't have a frame - only if the widget (QFrame or derived class) which called showFullScreen() has a FrameStyle != NoFrame, then you'll see a frame... so just check your fullscreen widget end ensure that you don't have, for example a QLabel with a frame.
-
whatnick almost 11 yearsThe white frame in my case came from a border in the layout manager used in the central widget. Removed it with - layout->setContentsMargins(0,0,0,0);