QT在ubuntu下实现界面全屏,侧边栏隐藏,上边栏隐藏【实例】


        最近做一个Qt项目(ubuntu 14.04),需要将界面全屏,全屏之后,ubuntu侧边栏隐藏,上边栏也隐藏,只显示Qt的界面。


那么先介绍几个函数:

Qt全屏显示函数:showFullScreen() 

Qt最大化显示函数:showMaximized()

Qt最小化显示函数:showMinimized()

Qt固定尺寸显示函数:resize(x,y)

Qt设置最大尺寸函数:setMaximumSize(w,h)

Qt设置最小尺寸函数:setMinimumSize(w,h)


注意:

1:showFullScreen()只对顶级窗口有效果,对子窗口无效的。

2:全屏显示和最大化显示是有区别的,全屏显示会隐藏桌面的边栏,最大化则不会,这点得强调注意,不要搞错了,一直显示出错。


这里在再介绍一个函数:

setWindowFlags (Qt::Window | Qt::FramelessWindowHint);

        第一个参数表示此控件是窗口类型,第二个表示去除边框,状态栏,没有框架。针对该控件的,设置了这句代码,也就是使控件没边框,没状态栏等等。不会影响到系统的界面。


需要全屏显示直接加入下面代码即可:

this->showFullScreen();


------------ Leo 的分割线 ------------


子窗口全屏显示

1:调用setWindowFlags(Qt::Window)将其类型提升为顶级窗口模式

2:调用showFullScreen()函数将子窗口全屏显示

也就是先将子窗口全屏显示前设置为顶级窗口,然后进行全屏显示。

注意:顺序不能颠倒,setWindowFlags()这个函数也不能不写,因为showFullScreen()函数只对顶级窗口有效。


子窗口退出全屏

1:调用setWindowFlags(Qt::subwindow),或者setWindowFlags(Qt::Dialog),将子窗口设置为非顶级窗口

2:调用showNormal()还原子窗口显示

注意:函数的调用顺序不能颠倒。


你如果需要知道屏幕的高宽可以调用以下函数,直接打印出来你就知道了,尝试一下:

QApplication::desktop()->height();

QApplication::desktop()->width();


例子:

全屏显示:

this->setWindowFlags(Qt::Window);

this->showFullScreen();


退出全屏:

this->setWindowFlags(Qt::SubWindow);

this->showNormal();


相关文章:

ubuntu下qt4.8.6运行,ui界面不显示中文,qDebug可显示中文【已解决】

ubuntu14怎么安装opencv【详】

上一篇 下一篇