最近快被Qt For Symbian整疯了。总结了一些经验,分享一下。
虽然Symbian注定要在人们视野中淡去,但是她毕竟辉煌过;同时在他离去的时候,留下了Qt——一种移动平台开发的思路,写一个程序缅怀她的成功。
界面切换:
是通过Stack实现的。
建立一个QBaseWidget,然后其他界面通过继承该类,进行active和remove.至于激活以前的view就是一个栈操作。
int QBaseWidget::activatePerviousView()
{
int ret = -1;
QString currentName = stackedWidget->currentWidget()->metaObject()->className();
QString previous;
for (int i=0;i<stackedWidget->count();i++)
{
QWidget* w = stackedWidget->widget(i);
if (w->metaObject()->className()==currentName)
{
if (i>0)
{
i--;
previous = stackedWidget->widget(i)->metaObject()->className();
ret = 0;
// Remove current widget
removeWidget(currentName);
// Activate prevous widget
activateWidget(previous);
}
break;
}
}
return ret;
}
Nokia官网提供了一个例子:Qt_for_S60_QStackedWidget_Example_v1_0_en
2、为QWebView提供键盘指引(三版S60)
QWebPage *page = m_view->page();
QWebSettings *settings = page->settings();
settings->setAttribute(QWebSettings::SpatialNavigationEnabled, true);
不过SpatialNavigationEnabled是Qt4.7里才加入的,要用4.7的lib。
3、读取接入点:
#include
<QNetworkSession>
#include
<qmobilityglobal.h>
QTM_USE_NAMESPACE //使用了qmobility的API
QNetworkSession
*
session
;
QNetworkConfigurationManager manager;
const bool selectIap = (manager.capabilities()& QNetworkConfigurationManager::CanStartAndStopInterfaces);
QNetworkConfiguration defaultIap = manager.defaultConfiguration();
if(!defaultIap.isValid() && (!selectIap && defaultIap.state() != QNetworkConfiguration::Active))
{
qDebug()<<"ERROR"; // let the user know that there is no access point available
}
session = new QNetworkSession(defaultIap,this);
session->open();
QNetworkConfigurationManager::allConfigurations() //可以获得所有的接入点
4、让某个按钮获得焦点
QTimer::singleShot(0, button, SLOT(setFocus()));
先写这些,慢慢补充
分享到:
相关推荐
- **应用**: Qt被广泛应用于各种操作系统和平台上,包括但不限于MS Windows、UNIX/X11、Mac OS X、嵌入式系统(如Linux、Windows CE)以及移动设备平台(如Symbian/S60)。 **1.2 Qt5的安装** - **下载**: 从Qt...
Symbian提供了多种用户界面框架,如Series 60的C++ UIQ和Qt for Symbian。这些框架定义了控件、事件处理和布局管理。通过分析提供的源代码,你可以学习如何创建窗口、按钮、列表视图等元素。 5. **文件系统和资源...
开发Symbian应用,首先需要安装 Carbide.c++ IDE 或者 Qt Creator,它们是Symbian开发的主要工具。同时,还需要配置SDK,如S60 SDK,以及设备模拟器或实际设备进行调试。开发者还需要熟悉Makefile和项目构建过程,以...
4. **源代码结构与编程语言**:由于是源码,我们可能涉及到C++或Qt等编程语言,这是塞班开发的常用语言。解析源码的结构,了解类、函数、事件处理等将有助于理解整个相机应用的工作原理。 5. **示例项目的使用**:...
通常,这些格式需要通过第三方库(如Qt或OpenCV)转换为Symbian支持的格式。 - 资源管理:加载位图后,确保正确释放资源,避免内存泄漏。使用`CFbsBitmap::~CFbsBitmap()`析构函数或`Delete()`方法。 2. **应用...
1. **源代码**:可能包括C++或Qt(在S60 5th Edition中常用)的源代码文件,用于实现HTML控件。 2. **库文件**:编译好的库,如动态链接库(.dll)或静态链接库(.lib),供应用程序链接使用。 3. **头文件**:包含...
"UI"可能是一个项目文件,其中可能包含了Symbian UI的具体实现,例如用C++编写的源代码、资源文件或工程配置。 总之,Symbian UI设计和开发涉及许多技术细节,包括UI组件的使用、事件处理、资源管理等。通过学习和...
Symbian的用户界面通常基于Qt或Series60 SDK提供的组件构建。理解如何创建和布局控件,以及响应用户交互,对于创建用户体验优秀的应用至关重要。 ### 8. 性能优化 由于Symbian设备的资源限制,性能优化是开发过程...
- **Curses库与Qt**:学习使用Curses库进行文本界面的开发,掌握Qt库的基础用法。 - **网络编程**:理解TCP/IP协议栈,学习套接字编程,实现简单的网络通信。 - **进程间通信**:掌握管道、信号、共享内存等IPC...
8. **用户界面**:Linux下的图形用户界面(GUI)框架如GTK+、Qt可能不适用于Symbian,需要考虑使用Symbian的UI框架如UIQ或Series 60 SDK。 9. **编译和构建系统**:Linux下常用的Makefile和GCC工具链在Symbian上...
Eclipse和 Carbide.c++是常用的开发环境,它们提供了一整套集成开发环境(IDE),便于编写、编译和调试代码。 3. **Symbian摄像头API** 在Symbian系统中,相机功能主要通过QCamera或QImageProvider等类来实现。...
- **IDE(集成开发环境)**:常用的IDE有 Carbide.c++ 和 Qt Creator,它们提供了项目管理、代码编辑、调试等功能,极大地提高了开发效率。 - **文档与教程**:官方提供了详尽的技术文档和教程,涵盖了S60平台的所有...
- **Qtopia平台**:Qtopia是一个基于Qt/Embedded的可定制开发环境和用户界面框架,能够提供全面的源代码访问权限,允许开发者根据需求进行深度定制。此外,Qtopia支持多存储模型,增强了应用程序的灵活性。 #### ...
C++是UIQ开发中常用的系统级编程语言,具有高效、灵活和可移植性等特点,使得开发者能够深入到操作系统层面进行编程,创建功能丰富的移动应用。手机编程则涉及到移动设备特有的硬件限制、用户交互设计以及功耗管理等...
市场上有许多嵌入式操作系统,如Symbian、uCLinux、uC/OS、WinCE、VxWorks等,而本书选择Linux作为讲述对象,因为Linux开源、市场占有率高、应用广泛。 学习嵌入式Linux操作系统需要掌握以下知识点: 1. Linux使用...