在Qt for Symbian应用中强制使用横屏或竖屏
来源:互联网 发布:微单哪款好 画幅知乎 编辑:程序博客网 时间:2024/04/30 06:55
摘要:本文介绍怎么在Qt for Symbian程序中即使手机水平状态发生变化的时候强制使用横屏或竖屏。
对于带有水平传感器的Symbian手机,在用户将手机从横屏模式(Landscape)切换到竖屏模式(Portrait)时,系统会自动调整手机的屏幕显示方向,满足用户正常的使用需要。屏幕横宽比的变化,需要应用调整窗口的布局,以保证更好的用户体验。
但是在某些特殊场合中(比如游戏),开发者可能希望即使手机的水平状态已经变化,需要屏幕继续保持原来的屏幕方向,提示用户只能在横屏或者竖屏方向上使用当前的应用,这就需要通过设置,让手机屏幕强制处在横屏或者竖屏状态。
Qt的当前版本(Qt-4.6.2)并没有提供直接控制Symbian 手机屏幕模式的API,需要通过使用Symbian的API来完成。
设置API函数为:CAknAppUi::SetOrientationL();
在Qt中的使用显示代码如下:
#ifdef Q_OS_SYMBIAN
void MyWidget::setPortraitMode()
{
CAknAppUi *aknAppUi = dynamic_cast(CEikonEnv::Static()->AppUi());
if (aknAppUi)
aknAppUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait);
}
void MyWidget::setLandscapeMode()
{
CAknAppUi *aknAppUi = dynamic_cast(CEikonEnv::Static()->AppUi());
if (aknAppUi)
aknAppUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape);
}
#endif
要使用上面代码中的Symbian函数,需要在代码里把symbian的几个相关头文件加入到源码中
#ifdef Q_OS_SYMBIAN
#include <eikenv><br> #include <coemain><br> #include <aknappui><br> #endif</aknappui></coemain></eikenv>
并且需要在Qt的.pro工程文件中加入以下内容,保证应用能够编译和链接
symbian {
LIBS += -lconnmon -lcone -lavkon
}
注意:该功能在模拟器上不能模拟,但是在Symbian手机上工作正常。
- 在Qt for Symbian应用中强制使用横屏或竖屏
- Qt for Symbian怎样强制使用横屏或竖屏
- 在Qt应用中强制使用横屏或竖屏
- 在Qt应用中强制使用横屏或竖屏
- Symbian 强制横屏、竖屏
- 【Android】如何设置应用强制横屏或竖屏
- 使用Nokia Smart Installer for Symbian发布QT应用
- 如何在NokiaQtSDK中开发Symbian Qt应用
- 在应用中从竖屏模式强制转换为横屏模式
- 在应用中从竖屏模式强制转换为横屏模式
- 在应用中从竖屏模式强制转换为横屏模式
- Phone开发之在应用中从竖屏模式强制转换为横屏模式
- 在IOS应用中从竖屏模式强制转换为横屏模式
- 在IOS应用中从竖屏模式强制转换为横屏模式
- 在IOS应用中从竖屏模式强制转换为横屏模式
- (转)在IOS应用中从竖屏模式强制转换为横屏模式
- 在iOS应用中从竖屏模式强制转换为横屏模式
- 在iOS应用中从竖屏模式强制转换为横屏模式
- cba 0
- String变量的操作
- 文本框获得焦点时,内容为空!
- ANT-build.xml文件详解
- 一个用户SQL Server2000/2005的好工具_——数据库发布向导(Database Publishing Wizard)
- 在Qt for Symbian应用中强制使用横屏或竖屏
- JS消息提示框
- DataBinder.Eval与Eval的区别
- 目前见过最好的豆瓣电台第三方程序
- jsp request 对象详解
- java追加内容到文件末尾
- 论文的日子开始了
- Java的安全学习(包括加密,数字签名,证书和认证) 收藏
- JS无限级树形菜单