![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Nokia
全速前行
昵称已经改过三次,每个名称都代表了当时自己的心境。而这个全速前行是让自己更快的行动起来,不能总是光想而不做。也督促自己一定要快速建模,行动起来,才知道程序到底优势和缺陷在哪。我,还是那个快乐的移动开发者
展开
-
Symbian 学习之对话框简介
<br />Symbain OS 对话框的基类实在Uikon中定义的CEikDialog类,在此基础上各个界面平台又封装了各种对话框类,例如S60平台的Avkon定义了 CAknDialog类作为S60对话框的基类,而UIQ平台仍然使用CEikDialog类作为对话框基类,但是封装了 CQikSaveFileInFolderDlg类等UIQ平台特有的对话框类。<br /> Uikon中的CEikDialog实现了三个接口,包括:<br /> McoeControlObserver,对话框子控转载 2010-06-15 23:47:00 · 1221 阅读 · 0 评论 -
S60平台:Avkon UI 资源-设置列表--S60 Platform: Avkon UI Resources- Setting Lists翻译连载三
本文章仅作学习与交流之用。如有转载,请联系本人。书接上文!翻译 2010-06-18 21:53:00 · 1578 阅读 · 0 评论 -
S60平台:Avkon UI 资源-设置列表--S60 Platform: Avkon UI Resources- Setting Lists翻译连载二
二、 创建设置列表和其项目(items)为了能够在应用程序中使用设置列表,应用程序必须包含一个继承自抽象基类CaknSettingItemList的类。这个类的实例会提供一个实际的设置列表控件来使用。这个继承的类需要重载(override)和实现(implement)创建设置列表的方法。下面的例子是一个最简单的继承设置列表类:翻译 2010-06-17 22:00:00 · 1717 阅读 · 0 评论 -
Windows XP 下如何使用Qt Creator中的Git版本控制功能
<br />Qt Creator是针对Qt应用开发平台专门设计的IDE开发工具,集成了很多功能,分别有windows、Linux、Mac版本。对于那些经常使用Qt的开发者,就不多介绍了。下面讲讲如何在Qt Creator中使用版本控制,Qt Creator中可以选择Git或是Subversion来进行版本控制,我选择Git,为什么?你可以看看这两篇文章<<活灵活现用Git-基础篇>>和<<活灵活现用Git-技巧篇>>,如果你早就熟知Git,快走吧。<br /><br />这里有几个前提要注意:<br /><转载 2010-07-14 17:02:00 · 2135 阅读 · 0 评论 -
Symbain 动态菜单
动态菜单是指程序运行过程时菜单项的显示数目可以发生变化。Symbian中动态菜单是在AppUi的成员函数DynInitMenuPaneL()中实现菜单在加载前的初始化工作。它包括两个参数--aResourceId(当前激活的菜单id)和aMenuPane(当前菜单的指针)。 任何菜单都是CEikMenuPane类的对象,aMenuPane就是指向CEikMenuPane的指转载 2010-05-28 20:39:00 · 1449 阅读 · 0 评论 -
Qt 部署到Symbian设备上的注意事项
下载了最新的Nokia Qt SDK beta,用在S60 SDK上用qt开发N95的程序。一切还算顺利吧,其中有四点要注意下。一、虽说qt的sdk带了Symbian的sdk,但你要开发自己的程序,要相应的SDK.我是后安装的s603rd的sdk,运行良好。二、qt的sdk和自己开发程序的目录要在同一个盘符下三、开发程序的目录,即所在的文件夹名称不能有空格四、部署Insta原创 2010-05-08 10:56:00 · 1195 阅读 · 1 评论 -
Symbian C++学习笔记连载一:Symbian基础知识
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <object class原创 2010-05-13 20:35:00 · 1294 阅读 · 0 评论 -
彻底解决Symbian全屏显示问题
<br /><br />最近总有同行问我Symbian全屏显示的问题,说是参考了网上的方法也无法设置成全屏。其实,归根结底还是不明白Symbian框架的调用机制。这篇文章里我就来彻底研究一下Symbian全屏的机制。<br />首先,我们可以利用Carbide.vs向导建一个项目,名字就叫"TestScreen",选择基于Eikon的传统控件架构。<br />那么在CTestScreenAppUi的二阶构造函数里就有如下代码:<br />void CTestScreenAppUi::ConstructL()转载 2010-07-07 16:32:00 · 967 阅读 · 2 评论 -
观察者模式的故事--Symbian
<br /> <br />观察者模式是Symbian中使用非常多的一种模式 ,经过一天的研究,终于还是有点理解。<br /> 观察者模式定义了对象间的一对多的依赖关系:当一个对象(目标对象)发生改变时,所有依赖于它的对象(观察者)都能得到通知。<br /> 观察者模式中的两个关键对象是目标(Subject)和观察者(Observer)。每个目标可以有一个或多个观察者,目标提供了注册和删除观察者对象的接口。具体的观察者会实现目标中定义的获得通知的接口,如观察者接口Observer中定转载 2010-07-08 16:31:00 · 1629 阅读 · 0 评论 -
S60模拟器的模式--文本命令解释程序模式
S60模拟器有文本命令解释程序模式和普通GUI模式,默认的情况下是普通模式,安装下面操作即可变成文本命令解释程序模式:定位到 /epoc32/data/epoc.ini中增加textshell注意这句代码一定要放在此文件的第一行表示SDK所在的根目录。原创 2010-05-14 21:18:00 · 1131 阅读 · 0 评论 -
Symbian 描述符 概述
Introduction 描述符(Descriptors)封装了字符串和二进制数据,用于替代C中的以NULL结尾的字符串。它的长度和数据都封装在了描述符中,Symbian API中用的都是描述符。如: TPtrC ptr (KHelloWorld); CEikonEnv::Static()->InfoMsg(ptr); Main Types o转载 2010-05-16 21:06:00 · 1161 阅读 · 0 评论 -
CActive类介绍
<br /><br />3.15.2 CActive类<br />一个活动对象类必须直接或间接地从定义在e32base.h里的CActive类派生而来。CActive是一个抽象类,它有两个纯虚函数--RunL()和DoCancel()。<br />构造<br />在构造时,从CActive派生的类必须调用基类的保护构造函数,并传入一个参数以设置活动对象的优先级。与线程类似,所有的活动对象都有一个用来决定它们如何被调度的优先级。就像前面的小节里讲过的一样,一旦活动对象开始处理一个事件,在事件处理函数返回到活转载 2010-07-12 21:55:00 · 1696 阅读 · 0 评论 -
更改Symbian 3rd的应用程序图标和窗口左上边的图标
3版修改图标三版也可实现类似二版的修改aif文件夹下图片达到修改工程图标的效果。不过这次图片(.bmp)要放到gfx文件夹下。1.首先把图片拷贝到gfx文件夹下2.修改bld.infPRJ_PLATFORMSWINSCW GCCEPRJ_MMPFILES******.mmpgnumakefile icons_aif.mk //添加3.icons_aif.mk文件格式如下//自己创建icons_aif.mk文件格式如下# ==================转载 2010-07-11 21:40:00 · 1257 阅读 · 0 评论 -
初涉Windows Mobile下的QT程序移植和部署
<br /><br />Visual Studio 环境准备<br />本文使用的WindowsMobile开发环境是Visual Studio 2008版本,要求在安装VS2008的时候,一定要选择安装Visual C++ ,并且要选择上智能设备可编程技术选项。如下图:<br /> <br /> <br /> <br />如果你已经安装过VS2008,那么只要从Windows的“添加/删除程序”找到VisualStudio2008进入维护模式即可重新添加或者删除VS2008的组件。<br /> <br /转载 2010-07-12 11:57:00 · 2340 阅读 · 7 评论 -
Symbian 开发的22条军规
学习Symbian开发过程中在网上找的一些好的资料,下面的这个symbian开发22条军规转自:http://blog.csdn.net/lius1984/archive/2009/12/26/5082364.aspx1、 确保您的应用程序能够对系统关机事件做出响应。在您的AppUi::HandleCommandL()方法中,必须要对EEikCmdExit(以及任何特定平台转载 2010-05-17 21:33:00 · 1126 阅读 · 0 评论 -
Symbian应用程序常用架构
所谓“应用程序架构”是指应用程序框架类的集合。基于所需的UI设计,应用程序可以具有稍微不同的架构,但是每种架构都有一些公共部分,称为“核心应用程序类” 一、先看一下基础部分,具体架构在第二部分介绍 (1)核心应用程序类. 所有的S60 UI应用程序都具有一些基本功能: 提供一个用户界面,用于显示信息并允许用户进行交互 响应各种用户启动的事件,比如用户选择一个菜单项转载 2010-05-11 15:52:00 · 1292 阅读 · 0 评论 -
Symbian程序中的观察者模式
<br />在这个站点上有很多关于Symbian程序外表的文章,很少有关于架构设计的观点。在以下的文中中,我介绍一下在Symbian应用程序中的观察者模式,我会用一些有意义的类名来代表整个Symbian程序的设计流程。在这个应用程序中,将告诉你在一个Symbian程序中如何使用 Engine和前台,UI接口,和用户直接的交互。在文章中,我已经给了一种解决的方案。在接下来的文章种,我将介绍另外一种方法,通过内嵌类。让我们开始应用程序的引擎类和它的观察者,我们创建了一个观察者接口 MObserver,定义如下:转载 2010-07-08 16:26:00 · 1026 阅读 · 0 评论 -
Cabide.c++中导入.mmp文件
到现在cabide.c++出到2.3版了,在做书中例子时需要导入.mmp文件,按照下面步骤来做1.在.mmp文件所在的文件夹中创建 bld.inf文件打开bld.inf文件,输入以下代码PRJ_MMPFILESxxx.mmp其中 xxx.mmp 文件是指你的.mmp文件名称。2. 在IDE Carbide.C++ 中 File->Import...-> 选择Symbian OS Bld.in原创 2010-05-10 20:00:00 · 1876 阅读 · 1 评论 -
QT 快捷键
Movement:Cursor Keys(方向键) 上下左右移动光标Page Up/Down 上下翻页Ctrl+Left/Right(方向键) 左右逐个单词移动光标Home/End 光标移至本行的起始/末尾Ctrl+Home/End 光标移动至整个文本的起始/末尾 Ctrl+Up/Down/PageUp/PageDown 在不改变光标位置的情况下上下移动、翻页Shi转载 2010-05-11 09:31:00 · 3052 阅读 · 1 评论 -
Cabide.c++显示行号
Window->preferences->General->Editors->Text Editors选中Show Line Number. 用惯了VS,使用cabide.c++这种Eclipse还有点不太适应。只能这样去积累点点滴滴的经验了。原创 2010-05-10 20:23:00 · 1136 阅读 · 0 评论 -
Symbian的两个工程文件bld.inf 文件和mmp文件
Symbian有两个工程文件:· 组件描述文件(bld.inf), 这个文件列出了一组相关的工程, 并包含一些编译指令. · 工程定义文件 (.mmp file),这个文件对要编译的工程进行描述,并定义要构建的资源文件。该文件是环境无关的,编译工具用它来生成针对各种目标环境下的make files文件。组件(component)描述文件: bld.inf Bld.inf转载 2010-05-10 19:58:00 · 1293 阅读 · 0 评论 -
使用Qt编辑关闭窗口程序的一些见解
<br />近日在测试软件功能时,发现一些不是太显眼问题,如希望在点击窗口右上角的X按钮关闭窗口时,能够提示用户是否确认关闭;使用完软件并关闭主程序时,打开的子窗口在主窗口关闭后能够同时关闭等一些问题。当然,这些问题并不影响软件的功能应用,但作为一个面向广大用户的实用软件的话,这显然不太符合用户的使用习惯。并且,加入对话框的操作能避免一些不小心的错误操作给用户带来的麻烦。对此,我本人针对该问题做了一些修改工作,以使窗口关闭时,跳出对话框提示用户是否确认关闭,以及在主窗口关闭时,响应已打开的子窗口同时全部关闭转载 2010-07-05 15:57:00 · 1602 阅读 · 0 评论 -
Symbian 标识符未定义错误的解决
<br />此错误多半是因为修改完rss文件后,没有clean project造成rsg文件没有更新。<br /><br />.rsg文件在你的 Symbian/9.2/S60_3rd_FP1/Epoc32/BUILD/Symbian/Carbide/workspace/yourProject/group/TESTLOGIN/WINSCW目录下。<br /> <br />当然你要头文件包含<yourproject.rsg>。<br />如果还是不行,就把rsg文件删除,重新来过吧。原创 2010-07-06 15:26:00 · 1381 阅读 · 0 评论 -
深入探索Symbian多视图程序开发
<br /><br />我们知道,在大多数GUI的Applications中,视图之间的切换是极其频繁的。那么如何组织这些视图以及视图之间的通讯,就成为大多数Applications所要面对的问题。<br />在Symbian中多视图应用程序之间的视图管理可以用下图来表示:<br /><br />其中AppUI管理AppView,而AppView又管理Container。<br />AppUI继承自CAknViewAppUi,其管理AppView的代码如下:<br /><br /> <br />CAppVi转载 2010-07-08 09:26:00 · 1357 阅读 · 2 评论 -
Symbian的二阶段构造机制
<br />本文转自:http://blog.csdn.net/Atoric/archive/2008/05/26/2481631.aspx二阶段构造是Symbian中的一个重要的内存处理机制,是Symbian软件开发者所必需掌握的知识。本文通过三个问题及其相应解答来解析Symbian中二阶段的基本原理和使用方法,希望对大家的学习有所帮助。问题1:为什么需要二阶段构造?首先考虑如下的语句:CClassName* ptr = new (ELeave) CClassName();在内存有足够空间的情况下,代码首转载 2010-07-08 16:09:00 · 1096 阅读 · 0 评论 -
Symbian新手入门:清除栈和两阶段构造函数
<br /><br />在创建实例的时候SymbianC++使用new(ELeave)来代替普通的new,比如:<br /> CBar*pBar=new(ELeave)CBar<br /> 这个用法是考虑到手机特殊的属性:内存一般较小,经常会有内存不足的情况出现。<br /> 在PC上如果内存不足我们就会退出程序,但是在手机不能那样频繁的退出,所以内存不足被划分为异常,需要离开。<br /> 下面这个函数就会在内存不足的时候在A行离开:void FooBarL()<br />{<br />CBar转载 2010-07-08 16:16:00 · 1126 阅读 · 0 评论 -
活灵活现用Git--基础篇
<br /><br />版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://phoenixtoday.blogbus.com/logs/33458940.html这是程序员2009年1月份发表的文章,只是上半部分,下半部分下个月继续发表,呵呵,2009年不错的开端。不过Git 真的是很不错的东西,跟大家一起分享使用经验 活灵活现用Git-基础篇<br />Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体转载 2010-07-14 16:45:00 · 1090 阅读 · 0 评论 -
Symbian 活动对象框架
有两篇非常经典的blog,我想说的都在那里了!大道至简:http://blog.csdn.net/dongfengsun/archive/2008/04/02/2245916.aspx老向的专栏:http://blog.csdn.net/wertcsdn/archive/2009/03/20/4008429.aspx原创 2010-05-20 21:44:00 · 1384 阅读 · 0 评论 -
Uikon-Eikon-Avkon-Qikon
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://shujiantang.blogbus.com/logs/14022144.htmlUikon-Eikon-Avkon-Qikon 在Symbian OS v5中,图形化框架被称为Eikon。该版本最初被设计为同时支持8位字符narrow和16位字符Unicode。但是,最终只有narrow被支持。在Symbia转载 2010-05-26 21:57:00 · 1569 阅读 · 0 评论 -
symbian 资源文件含义
Symbain 使用资源文件来描述GUI ,这些资源问都使用 .rss 扩展名。资源文件需要使用 rcomp (资源编译器)进行编译,使生成一个Symbian应用程序在运行时使用的编译后的资源文件:.rsc 文件。 还有一种头问文件其扩展名为:.hrh ,这种头文件被 .cpp 文件和.rss 文件共享,例如在某些情况下,可以创建一个包含 .hrh 文件的 .rh 资源头文件,而这转载 2010-05-27 22:14:00 · 1643 阅读 · 0 评论 -
Symbian 资源文件解析
一、何为资源文件:在symbian应用程序中,资源文件指的是后缀名为.rss的文件,每个应用程序至少要有一个与之关联的资源文件。资源编译器rcomp编译资源文件后,生成一个.rsc二进制文件和一个相伴的头文件(.rsg)。这样在应用程序框架启动应用程序时,会打开这个二进制文件,借助在.rsg文件中创建的资源标志符,根据需要把各个资源加载到C++转载 2010-05-27 22:17:00 · 1426 阅读 · 0 评论 -
qt sqlite 的初步使用
项目文件 pro 中加QT += sql一、包含头文件 #include 二、声明使用sqlite数据库 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");三、打开数据库 db.setDatabaseName("MyDB"); // 数据库名与路径, 此时是放在同目录下 db.open(); // 连接数据库, 然后就可以使用了.四、操作数据库QSqlQuery query(db);query.exec("select * from原创 2010-07-22 21:11:00 · 9093 阅读 · 0 评论 -
qt 多线程
<br />本文转自:http://www.cnblogs.com/neuqustciim/archive/2008/08/02/1258871.html<br /><br />Qt线程类<br /> <br />Qt 包含下面一些线程相关的类:<br />QThread 提供了开始一个新线程的方法<br />QThreadStorage 提供逐线程数据存储<br />QMutex 提供相互排斥的锁,或互斥量<br />QMutexLocker 是一个便利类,它可以自动对QMutex加锁与解锁<br />转载 2010-07-23 09:08:00 · 1347 阅读 · 0 评论 -
学习qt调试
<br />学习qt调试<br /><br />1. 使用警告和调试信息<br /><br />qDubug():输出调试信息 <br /> Example: <br /> qDebug( "my window handle = %x", myWidget->id() );<br /><br />qWarning():输出警告信息 <br /> Example: <br /> void f( int c )<br /> {<br />转载 2010-07-23 13:47:00 · 1478 阅读 · 0 评论 -
qt creator 调试 遇到的问题
<br />1、提示没有设置cdb<br /><br />来到tools->options->debugger,<br />Cdb,选中cdb复选框,autodetect下你的机器中是否已存在调试工具。没有,就去微软站点下载安装一个。Specify the path to the Debugging Tools for Windows (32-bit version) here.。<br />安好后要重启下qt creator。就可以调试啦。<br /> <br />2、如何看到变量的值呢?就像在VS里一样原创 2010-07-23 14:41:00 · 3918 阅读 · 0 评论 -
Qt 中文显示
<br />QT默认的编码(unicode)是不能显示中文的,可能由于windows的默认编码的问题,windows默认使用(GBK/GB2312/GB18030),所以需要来更改QT程序的编码来解决中文显示的问题。<br />QT中有专门的一个类来处理编码的问题(QTextCodec)。<br />在QT3中,QApplication可以设置程序的默认编码,但是在QT4中已经没有了该成员函数。<br />可以以下的这些方法来设置编码。<br /><br /><br />1. 设置QObject的成员函数t转载 2010-07-23 16:35:00 · 15385 阅读 · 2 评论 -
QT tcp Socket 通信开发
<br /> <br />转自:http://blog.csdn.net/demowolf/archive/2010/05/17/5598879.aspx<br /> <br />折腾了很久TCP IP通信机制。<br /> <br />以前虽然看过bsd tcp/ip的so called 基础通信代码。什么bind, listen ,accept , receive, write, read,但是一直没真正理解。<br /> <br />这次由于公司需求,我狠狠地读了代码,并且搬出QT老本行,开始了QT转载 2010-07-21 21:07:00 · 29041 阅读 · 6 评论 -
QT 获得屏幕分辨率
<br />在Qt中提供了QDesktopWidget类,提供屏幕的有关信息. <br />可以这么作: <br />QDesktopWidget *d=QApplication::desktop(); <br />int width=d->widht(); //屏幕的宽度 <br />int height=d->height(); //屏幕的高度 <br />或者简写如下: <br />int width=QApplication::desktop()->width(); <br />int height转载 2010-07-21 16:42:00 · 6626 阅读 · 1 评论 -
QT中文之乱码之解决方案
#include #include #include int main(int argc, char **argv) { QApplication app(argc, argv); QTextCodec *codec = QTextCodec::codecForName("GB2312"); QTextCodec::setCodecForLocale(codec); QTextCodec::setCodecForCStrings(codec); QTextCodec::转载 2010-07-23 15:16:00 · 3049 阅读 · 0 评论 -
Qt中提高sqlite的读写速度
SQLite数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度。例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行query.exec("insert into DataBase(......) values(......)");就会打开和关闭文件100万次,所以速度当然会很慢。SQLite数据库是支持事务操作的,于是我们就可以通过事务来提高数据库的读写速度。事务的基本原理是:数据库管理系统转载 2010-07-14 08:32:00 · 4725 阅读 · 2 评论