Qt 宏

在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。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值