自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Qt 應用中強制使用橫屏或豎屏

移動開發(fā)
在某些特殊場合中(比如游戲),開發(fā)者可能希望即使手機的水平狀態(tài)已經(jīng)變化,需要屏幕繼續(xù)保持原來的屏幕方向,提示用戶只能在橫屏或者豎屏方向上使用當前的應用,這就需要通過設置,讓手機屏幕強制處在橫屏或者豎屏狀態(tài)。

本文介紹的是在Qt 應用中強制使用橫屏豎屏的實現(xiàn),有時候看圖片、看電影、玩游戲、看電子書等一些操作時,我們希望屏幕是跟著自己轉(zhuǎn)變的,那樣很方便使用。先看本文的講解吧。

對于帶有水平傳感器的Symbian手機,在用戶將手機從橫屏模式(Landscape)切換到豎屏模式(Portrait)時,系統(tǒng)會自動調(diào)整手機的屏幕顯示方向,滿足用戶正常的使用需要。屏幕橫寬比的變化,需要應用調(diào)整窗口的布局,以保證更好的用戶體驗。

但是在某些特殊場合中(比如游戲),開發(fā)者可能希望即使手機的水平狀態(tài)已經(jīng)變化,需要屏幕繼續(xù)保持原來的屏幕方向,提示用戶只能在橫屏或者豎屏方向上使用當前的應用,這就需要通過設置,讓手機屏幕強制處在橫屏或者豎屏狀態(tài)。

Qt的當前版本(Qt-4.6.2)并沒有提供直接控制Symbian 手機屏幕模式的API,需要通過使用Symbian的API來完成

設置API函數(shù)為:CAknAppUi::SetOrientationL();

在Qt中的使用顯示代碼如下:

  1. #ifdef Q_OS_SYMBIAN  
  2. void MyWidget::setPortraitMode()  
  3. {  
  4. CAknAppUi *aknAppUi = dynamic_cast(CEikonEnv::Static()->AppUi());  
  5. if (aknAppUi)  
  6. aknAppUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait);  
  7. }  
  8.  
  9. void MyWidget::setLandscapeMode()  
  10. {  
  11. CAknAppUi *aknAppUi = dynamic_cast(CEikonEnv::Static()->AppUi());  
  12. if (aknAppUi)  
  13. aknAppUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape);  
  14. }  
  15. #endif 

要使用上面代碼中的Symbian函數(shù),需要在代碼里把symbian的幾個相關(guān)頭文件加入到源碼中

 

  1. #ifdef Q_OS_SYMBIAN  
  2. #include <eikenv.h> 
  3. #include <coemain.h> 
  4. #include <aknappui.h> 
  5. #endif 

并且需要在Qt的.pro工程文件中加入以下內(nèi)容,保證應用能夠編譯和鏈接

 

  1. symbian {  
  2. LIBS += -lconnmon -lcone -lavkon  

 

注意:該功能在模擬器上不能模擬,但是在Symbian手機上工作正常。

小結(jié):關(guān)于在Qt 應用中強制使用橫屏豎屏的實現(xiàn),內(nèi)容講述完了,不知道有沒有幫助到你!

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-05-30 08:42:56

Android

2013-07-29 04:24:40

iOS開發(fā)學習ViewControl

2013-07-29 05:04:19

Cocos2dx橫屏豎

2012-05-22 14:26:15

XNA 橫豎屏設置

2013-07-03 17:08:14

iOS 7人機交互UI設計基礎整合iOS系統(tǒng)

2011-05-31 14:18:54

橫屏UI設計

2023-03-29 09:37:49

視頻播放器應用鴻蒙

2024-04-30 11:49:16

瀏覽器前端開發(fā)折疊屏應用

2012-07-18 09:21:54

iPhone觸摸屏

2020-04-21 12:12:06

華為

2011-07-21 15:56:32

iPhone 截屏

2011-06-17 09:34:02

Qt 4.5.1 Sqlite 移植

2021-10-15 10:20:28

手機屏幕蘋果

2024-04-03 12:37:13

模型數(shù)據(jù)

2015-02-02 11:07:12

iPad大屏

2011-06-17 09:19:03

Qt 4.5.1 Sqlite 移植

2011-06-08 16:56:37

VS2008 Qt

2022-03-09 14:43:38

LinuxDLNA

2011-07-25 14:44:41

iPhone iPhone開發(fā) 截屏

2012-09-25 13:10:41

瀏覽器
點贊
收藏

51CTO技術(shù)棧公眾號