程序在模拟器和真机中的显示以及获取设备的大

Qt Creator中,程序的显示在QWidget中提供了一些方法,

show();                    ---正常显示

showMaximized();    ---窗口最大化

showMinimized();     ---窗口最小化

showFullScreen();    ---全屏显示 

如果想要在windows中正常显示窗口,但却想在模拟器或者真机上全屏显示程序, 就需要用到一些用来条件编译的宏了。这些宏是Qt为了实现跨平台的程序,从而在不同的平台上编译不同的代码,这些宏如下:

Q_WS_SIMULATOR    --模拟器

      Q_OS_SYMBIAN         --Symbian设备

Q_OS_WIN                --windows环境

那么要实现上面的显示的话,以下代码就ok了。

#ifdef Q_WS_SIMULATOR           showFullScreen();   //模拟器上的全屏    #elif defined(Q_OS_SYMBIAN)       showFullScreen();   //Symbian设备上的全屏     #elif defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6)        showMaximized();   //maemo设备上最大化显示    #else        show();            //其他的都正常显示    #endif  

如果想只隐藏掉Symbian中的状态栏,可以在窗口部件的构造函数中添加如下代码:

QWidget::setWindowFlags(windowFlags() | Qt::WindowSoftkeysVisibleHint);

并且让程序全屏显示ShowFullScreen();

同样的想要只现在状态栏,而不想显示控制栏,则在构造函数中添加: 

QWidget::setWindowFlags(windowFlags() ^ Qt::WindowSoftkeysVisibleHint);

      并让程序最大化显示ShowMaximized();

      具体可以参照Nokia论坛

获取设备的大小,可以使用 QApplication::desktop()->screenGeometry();

在QDesktopWidget类中提供了两个方法,availableGeometry()--返回的是实际屏幕的大小(全屏幕),比如windows中包括任务栏所占用的区域。

screenGeometry()--返回的是一般屏幕的大小,即未占用的区域,他们的返回值是Qrect。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwwfzz.html