Ubuntu下Qt 全屏时 MainWindow菜单栏和状态栏显示问题(设置背景有白边)

1.Ubuntu系统菜单栏隐藏

Qt界面 在Ubnntu系统下全屏时点击另外一个窗口按钮或出现对话框时,最左边的菜单栏也会同时出现,很是烦人,影响美感。

Ubuntu下Qt 全屏时 MainWindow菜单栏和状态栏显示问题(设置背景有白边)_第1张图片

Method:系统设置->外观->行为 打开自动隐藏器,将显示灵敏度调到最低就ok了。

Ubuntu下Qt 全屏时 MainWindow菜单栏和状态栏显示问题(设置背景有白边)_第2张图片

2.MainWindow 设置showFullscreen时不显示menubar

这个问题其实很简单,但开始却困惑了我好久,当你启动界面设置为全屏时默认是菜单栏隐藏的,只有在WindowMaximized状态你可以看到菜单栏。那么 你只要设置一个动作令menubar显示就可以了。我是重载的鼠标双击事件,实现menubar的显示隐藏

void MainWindow::mouseDoubleClickEvent (QMouseEvent *event)
{
    if(event->button() == Qt::LeftButton){
        if(ui.menubar->isHidden())
            ui.menubar->show();
        else ui.menubar->close();
    }
}

3. 用styleSheet设置背景图片(状态栏无背景问题)

对于这个问题我也是和menubar一个解决思路,关闭statusbar!

默认Fullscreen时statusbar为显示的,那么你就可以在MainWindow的构造函数里添加关闭状态栏的命令

 ui.statusbar->close();

这么一条简单的命令就解决了困扰我好久的全屏时状态栏没有背景图片的尴尬!

欢迎吐槽,有其他解决方法欢迎留言!

你可能感兴趣的:(Qt,Qt,菜单栏menubar,状态栏statusbar,Ubuntu,styleSheet背景设置)