基于arm-linux平台的模拟手机设计毕业论文(编辑修改稿)内容摘要:

登 录代码设计 //密码匹配 while(()) { if(strcmp((1).toString().toLocal8Bit().data(), ().data()) == 0) { spass =。 pass =。 Menu *m = new Menu(this)。 开始 输入 PIN 验证 登陆 成功 Y N 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 12 thishide()。 msetWindowFlags(Qt::Window|Qt::FramelessWindowHint)。 mshow()。 } else { QMessageBox::warning(this, Error, 密码不对。 )。 return。 } } //将密码转换成 *显示 if((strlen(().data()) strlen(uilineEdittext().toAscii().data()))!= 0) { for(int num = 0。 num strlen(uilineEdittext().toAscii().data())。 num++) { if(uilineEdittext().toAscii().data()[num] != 39。 *39。 ) { (uilineEdittext().toAscii().data()[num])。 (*)。 } } } uilineEditsetText(spass)。 登陆界面 : 图 登录设计 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 13 通讯录管理 功能详细设计 通讯录管理的流程图 图 通讯录管理流程 通讯录管理的设计 部 分代码设计: QString name = uilineEditNametext()。 QSqlDatabase db。 if(!()) { db = QSqlDatabase::addDatabase(QSQLITE)。 // 设置数据库类型 ()。 // 设置数据库名 if(!()) { QMessageBox::warning(this, Error, 打开失败。 )。 return。 } 显示所有人 显示成功 Y N 增加 查询 删除 姓名查找 号码查找 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 14 } QSqlQuery query。 if(!(select * from peoples)) QMessageBox::information(this, 提示 , ().text())。 while(()) { (0).toString().toLocal8Bit().data())。 if( !strcmp(name, (1).toString().toLocal8Bit().data()) ) { uilineEditNumsetText((2).toString())。 uilineEditOthersetText((3).toString())。 flag = false。 break。 } } 通讯录管理的部分界面: 图 通讯录管理 页面设计 情景设置 语言设置 目前设置了 2 中语言的转换:中、英文,将来可能添加多语言。 语言设置的过程是: 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 15 1. 在工程中 .pro 中添加 translations = (ts 前面的名字可以不 同 )。 2. 通过终端进入项目的目录 执行 lupdate .pro 命令 (这时, 中内容更新了,被 tr()标注的字符串被提取出来了 ); 3. 执行 linguist ,进行编辑,对提取的每个串进行翻译,也就是键入对应字串。 在左边面板中列出所有可供翻译的字串,单击之,右边编辑区会显示出来 ; 4. 在 “File” 菜单下,单击 Release项,这会生成我们需要的 .qm 文件 ; 语言设置的部分代码: QTranslator translator(this)。 //声明一个翻译类的对象 (Myphone_ch,.)。 //将配置文件加载进来 qAppinstallTranslator(amp。 translator)。 //在所有界面插入配置文件 语言设置的界面: 图 语言切换界面 背景设置 背景设置就是皮肤设置, 借用 css 的灵感, Qt也支持 Qt自己的 css, 简称 qss。 同 css 相似, qss 的主要 功能与最终目的都是能使界面的表现与界面的元素分离,即质与形的分离,就如同一个人可以在不同的时候穿上不同的衣服一样, css 机制的引入,使得设计一种皮肤与界面控件分离的软件成为可能,应用程序也能像 web 界面那样随意地改变外观。 详细内容请参考:。 Qss 的简单使用: QFile qss1()。 (QFile::ReadOnly)。 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 16 qAppsetStyleSheet(())。 ()。 日期查询 图 日期查询 开机 PIN 密码的设置 图 PIN 的设置 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 17 多媒体 本系统支持视频,音频的播放,具体部分实现如下: mObject = new Phonon::MediaObject(this)。 aOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this)。 //音频 vWidget = new Phonon::VideoWidget(uiframeVideo)。 //视频 vWidgetsetAspectRatio(Phonon::VideoWidget::AspectRatioAuto)。 //让解码器找到长宽比从媒体文件自动 (这是默认的 ) vWidgetsetScaleMode(Phonon::VideoWidget::FitInView)。 //这个录像将安装角度来填补保持长宽比 sSlider = new Phonon::SeekSlider(uiframeProcessVideo)。 vSlider = new Phonon::VolumeSlider(uiframeProcessListen)。 //声音进度条 Phonon::createPath(mObject, aOutput)。 Phonon::createPath(mObject, vWidget)。 //关联视频与 mObject对象 sSlidersetMediaObject(mObject)。 //播放进度条与播放位置关联 vSlidersetAudioOutput(aOutput)。 //声音进度条与音频关联 sSlidersetMinimumWidth(uiframeProcessVideowidth())。 //设置长度 播放进度条 vSlidersetMinimumWidth(uiframeProcessListenwidth())。 //设置长度 音量大小进度条 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 18 实现的界面: 图 视频播放 小工具 计算器 支持普通的数学运算功能,能进行 +, , *、 %。 同时还能进行二进制,十进制,十六进制的转换。 计算器的部分代码如下: //以下是转换为二进制的部分代码: if(T_D_H == 10) //当前是十进制 { number = uitxtEdittext().toDouble()。 number1 = (int)number。 pnumber = number number1。 while(number1) { list[t++]= number1%2。 number1 /= 2。 } t。 while(t != 1) { switch(list[t]) 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 19 {… } t。 } if(pnumber != ) //当前的十进制有小数部分 { int pn = 3。 (.)。 while(pn) {… } } } else if(T_D_H == 16) //当前是十六进制 { strcpy(clist,uitxtEdittext().toLocal8Bit().data())。 for(int t = 0。 t strlen(clist)。 t) { witch(clist[t]) {… } } } uitxtEditsetText(temp)。 T_D_H = 2。 //以下是转换为十六进制的部分代码 if(T_D_H == 2) { …… } else if(T_D_H == 10) { j = 1。 num = int(uitxtEdittext().toLocal8Bit().toDouble())。 for(i = 0。 i++) { if(num % 16 9) { switch(num%16) {…… } } else { clist[i] = (num % 16) + 39。 4039。 } num /= 16。 基于 ArmLinux平台的模拟手机设计 第 5章 系统详细设计 20 if(num 16) { if(num 9) { switch(num) {…… } } else { clist[++i] = num + 39。 4039。 } break。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。