如何以编程方式将 window 从全屏切换到正常模式?
How to toggle a window from fullscreen to normal mode programmatically?
我正在使用此代码将 window 从正常模式切换到全屏模式:
void MainWindow::on_action_Fullscreen_triggered()
{
showFullScreen();
}
再次触发该动作时,如何return回到正常模式?
经过一分钟的 Qt 参考会话后:
void MainWindow::on_action_Fullscreen_triggered()
{
isFullScreen() ? showNormal() : showFullScreen();
}
LogicStuff 的答案几乎是完美的,但它没有说明 window 是否最大化。我个人总是使用这个小片段:
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() return 值,我们必须在进入全屏之前将其保存在某处 (was_maximized_)。
我正在使用此代码将 window 从正常模式切换到全屏模式:
void MainWindow::on_action_Fullscreen_triggered()
{
showFullScreen();
}
再次触发该动作时,如何return回到正常模式?
经过一分钟的 Qt 参考会话后:
void MainWindow::on_action_Fullscreen_triggered()
{
isFullScreen() ? showNormal() : showFullScreen();
}
LogicStuff 的答案几乎是完美的,但它没有说明 window 是否最大化。我个人总是使用这个小片段:
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() return 值,我们必须在进入全屏之前将其保存在某处 (was_maximized_)。