Qt 宏

来源:互联网 发布:vc mfc编程实例教程 编辑:程序博客网 时间:2024/05/17 08:18
在Qt Creator中,程序的显示在QWidget中提供了一些方法,

      show();                    ---正常显示

 

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

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

      showFullScreen();    ---全屏显示 

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

      Q_WS_SIMULATOR    --模拟器

      Q_OS_SYMBIAN         --Symbian设备

      Q_OS_WIN                --windows环境

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

  1. #ifdef Q_WS_SIMULATOR     
  2.     showFullScreen();   //模拟器上的全屏  
  3. #elif defined(Q_OS_SYMBIAN)  
  4.    showFullScreen();   //Symbian设备上的全屏   
  5. #elif defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6)  
  6.     showMaximized();   //maemo设备上最大化显示  
  7. #else  
  8.     show();            //其他的都正常显示  
  9. #endif  

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

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

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

 

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

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

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

      具体可以参照Nokia论坛http://wiki.forum.nokia.com/index.php/Hiding_status_and_control_panes_in_Qt_for_Symbian

 

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

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

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


原创粉丝点击