我正在使用此代码将窗口从普通模式切换到全屏模式:
void MainWindow::on_action_Fullscreen_triggered()
{
showFullScreen();
}
当我再次触发此操作时如何返回正常模式?
答案 0 :(得分:1)
在与Qt的参考文章进行一分钟的会议之后:
void MainWindow::on_action_Fullscreen_triggered()
{
isFullScreen() ? showNormal() : showFullScreen();
}
答案 1 :(得分:1)
LogicStuff的答案几乎是完美的,但它不能说明窗口是否已最大化。我个人总是使用这个小片段:
void main_window::toggle_fullscreen()
{
isFullScreen() ?
((was_maximized_) ? showMaximized() : showNormal()), ui_->menu_view_toggle_fullscreen->setIcon(QIcon(":/fullscreen_enter")) :
((was_maximized_ = isMaximized()), showFullScreen(), ui_->menu_view_toggle_fullscreen->setIcon(QIcon(":/fullscreen_exit")));
}
由于showFullScreen()也影响isMaximized()返回值,因此在全屏显示之前,我们必须将其保存在某个地方(was_maximized _)。