基于QT记事本应用程序开发

基于QT记事本应用程序开发

【摘要】本文通过对嵌入式Linux和Qt的分析,利用Qt在源代码级上能够实现跨平台特性,在源代码开放的Linux操作系统上,根据嵌入式应用的特点对嵌入式终端下的记事本进行了设计需求分析、界面的设计,设计了记事本的一些相关功能,使linux操作系统使用界面更加人性化,具有一定的实用价值和研究价值。

【关键词】 Linux; Qt; GUI; 记事本

【中图分类号】G633.67【文献标识码】A 【文章编号】1001-4128(2010)12-0038-02

前言:

近年来计算机技术的迅速发展,这势必会导致一部分应用软件在新环境下无法正常运行。如果舍弃原有软件而重新开发,将会耗费大量的人力和资金,而且浪费了许多成熟的软件成果。而Qt可以用同一个源程序在不同平台上编译链接,生成目标代码,并取得相同的运行效果,这种基于源代码的跨平台特性不仅可以发挥各个平台的优势,而且可以在新环境下实现原有软件的功能,减少开发费用,还可以改进原有软件的不足,增加新的需求,从而延长软件生命期。

随着嵌入式产品的发展,往往要求嵌入式操作系统有网络和图形的功能。在嵌入式Linux操作系统上使用一个功能完备的轻量级、高性能、高可靠、可配置的GUI系统成为可行的解决方案,具有重要的研究和商业价值。??

1Linux和Qt

Linux是以Unix核心为基础、完全内存保护、多任务多进程的操作系统。程式源码全部公开,任何人可以修改并在GNU通用公共许可证(GNU General Public License)下发行。Linux用户遇到问题时可以通过Internet向网上成千上万的Linux开发者请教,这使最困难的问题也有办法解决。Linux提供了强大的网络功能,有多种可选择窗口管理器(X windows)。具有成熟完善、使用方便、功能强大的语言编译器,为嵌入操作系统提供了一个极有吸引力的选择。

Linux已经被移植到多种硬件平台,这对受开销、时间限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。嵌入式Linux由于其开源特性、实时性好、可移植、内置网络支持等优点在嵌入式领域成为主力军。

Qt是一个跨平台的C++图形用户界面库,目前包括Qt/X11、快速开发工具Qt Designer以及国际化工具Qt Linguist等。Qt支持Linux系统以及Windows系统。人们所熟知的KDE界面环境就是基于Qt开发而成的。Qt的具有 面向对象, 很容易扩展,对各个模块进行了良好的封装,构件支持等特点。 它的这些特点非常适合真正的构件编程, 能够使各个组件之间的协同工作变得十分简单,同时 Qt是直接基于 Xlib的, 所以它的执行效率比一般的基于平台的代码的执行效率要高。

2Qt编程机制

Qt系统的信号与槽机制:信号/槽机制是Qt的一个中心特征,在图形用户界面编程中,我们希望任何一类的对象可以和其它对象进行通讯。Qt的信号与槽均以函数形式出现,Qt的窗口部件有很多预定义的信号,但我们也可以通过继承来加入我们自己的信号。Qt的窗口部件有很多预定义的槽,我们可以用connect()函数对需要的信号和槽进行连接。当对象的内部状态发生改变,信号就被发射。信号/槽机制完全不依赖于任何一种图形用户界面的事件回路。当所有的槽都返回后发射的信号也将返回。信号与插槽机制并不要求类之间互相知道细节,这样就可以相对容易的开发出代码可高重用的类。

信号和槽是宽松地联系在一起的:一个发射信号的类不用知道也不用注意哪个槽要接收这个信号。Qt的信号和槽的机制可以保证如果你把一个信号和一个槽连接起来,槽会在正确的时间使用信号的参数而被调用。信号和槽的机制是类型安全的:一个信号的签名必须与它的接收槽的签名相匹配。因为签名是一致的,编译器就可以帮助我们检测类型不匹配。它们是完全类型安全的:不会再有回调核心转储(core dump)。总体来看,信号和槽构成了一个强有力的组件编程机制。??

3嵌入式终端应用程序记事本设计

目前市场上嵌入式手持设备,320*240的解析度基本满足了人们对显示画面大小及图像清晰度的要求,逐渐占领了市场主流。故记事本界面大小设定320*240,并且记事本均支持键盘控制操作和点击控制操作。

记事本要求可以将目录下的记事本文件以文件名列表的形式显示出来,同时可以实现记事本文件的新建、打开、编辑和删除等功能,可以根据文件内容的多少来实现文本的滚动显示。

3.1 记事本主要界面设计:界面大小为320*240,界面上方提供记事本文字标签和记事本图标,中间的显示区域显示记事本文件列表,界面的最下方左侧为

qt控制程序打开记事本_基于QT记事本应用程序开发.doc相关推荐

  1. qt控制程序打开记事本_基于QT记事本源代码

    基于 QT 记事本源代码 dialog.h #include "mainwindow.h" #ifndef DIALOG_H #define DIALOG_H #include n ...

  2. qt制作一个画板_基于Qt的画图板的设计与实现(含录像)

    基于Qt的画图板的设计与实现(含录像)(任务书,开题报告,外文翻译,毕业论文20000字,程序代码,答辩PPT,答辩视频录像) 摘要 本文的主要内容是记述画图板的设计与实现课程设计中的一些关键技术和辅 ...

  3. qt web混合编程_基于Qt与MATLAB的混合编程技术

    摘要:在Qt雷达仿真系统中,数据处理及图形显示尤为重要.本文为此提出了一种Qt与MATLAB混合编程的方法.通过VC++和MATLAB混合编程技术,将MATLAB函数封装成动态链接库,Qt调用这个动态 ...

  4. qt 历史记录控件_基于Qt图形界面软件的操作日志记录方法及系统_2015106293015_说明书_专利查询_专利网_钻瓜专利网...

    技术领域 本发明涉及一种软件系统的日志记录技术,特别涉及一种基于Qt图形界面软件的操作日志记录方法及系统. 背景技术 软件操作日志是记录用户在使用软件的过程中,通过鼠标和键盘在操作界面上执行的点击和输 ...

  5. qt 设置按钮大小_基于Qt的QQ局域网聊天

    近几日闲来无事,便想做个东西玩玩,敲敲代码,取取经,玩玩Qt,做点小Demo.参考多方资料,结合了众多网友的技术,做了一个基于Qt的QQ局域网聊天软件. 源码下载:点击下载源码 GithubPage: ...

  6. QT中级(6)基于QT的文件传输工具(2)

    QT中级(6)基于QT的文件传输工具(2) 本文实现第一步 1 新增功能 2 运行效果 3 实现思路 4 源代码 实现这个文件传输工具大概需要那几步? 实现多线程对文件的读写 实现TCP客户端和服务端 ...

  7. 【最新最全】Java微服务实战项目【尚医疗】_智慧医疗管理项目_基于若依框架快速开发

    尚医疗是专门为各大医院.门诊提供的一款医疗管理平台.系统包含:系统管理.药品进销存管理.看病就诊.收费管理.检查管理.数据统计等核心模块.通过尚医疗系统可以快速.方便的管理病人从挂号到门诊结束所涉及到 ...

  8. opendds开发实例linux,基于OpenDDS的应用程序开发(2)公布端实现

    基于OpenDDS的应用程序开发 (2)公布端实现 本章主要介绍一个OpenDDS的应用程序的示例,演示如何开发一个将数据从公布端发送到订阅端的应用程序.该示例程序基于一个简单的消息应用程序,由一个简 ...

  9. aiku基于mini2440下裸机程序开发《概述与SDRAM运行》

    大家好,我是aiku,今天主要跟大家介绍一些 基于mini2440下裸机程序开发<概述与SDRAM运行> 有什么问题:都可以联系我们,谢谢! 我是aiku,本博客主要写一些我们的项目经验与 ...

最新文章

  1. fetch.js php,JavaScript如何使用fetch来完成异步请求的实例介绍
  2. linux 进程管理 ppt,linux操作系统-进程管理和打印管理.ppt
  3. @FindBy、@FindBys、@FindAll的区别
  4. dojo/request模块整体架构解析
  5. WPF中的Data Binding调试指南
  6. java string转long报错_java.lang.Integer cannot be cast to java.lang.Long解决办法
  7. leetcode179. 最大数
  8. 怎么将翼型导入catia_CATIA导入翼型出现了问题,翼型是在网上找的。说是样条线运算有问题 - 机械 - 小木虫 - 学术 科研 互动社区...
  9. n皇后问题c语言_九章算法 | N皇后问题
  10. [转] Centos 6.4 python 2.6 升级到 2.7
  11. oracle-merge语法
  12. 判断字符串是否是邮箱或者手机号码格式
  13. LA 5846 霓虹灯广告牌(单色三角形问题)
  14. Spring中Resource接口详解
  15. 测量计算机编程fx500,工程测量中fx-500P计算器基本程序.doc
  16. BI工具数据看板哪个好,瓴羊Quick BI整不错!
  17. nginx配置禁止访问目录或禁止访问目录下的文件
  18. 欧拉角中各种角度的名称
  19. 常用API,基本类型包装类,日期类,异常,集合进阶,IO流,多线程
  20. 电视制式,480p,720p,1080p

热门文章

  1. Python实现一个简单的socket服务器
  2. PCA9685:I2C转16路PWM,助力你的系统
  3. 夜空中的守望者的目光
  4. 移动电信数据仓库设计六环节
  5. Java基础编程之分解质因数
  6. 推荐计划常见问题解答:有哪些问题是必须的?
  7. 边缘融合 边缘计算_生活在科技边缘
  8. 查看或修改mysql数据库及表编码格式
  9. 基于51单片机智能温度控制器温控系统(毕设课设)
  10. bat 批处理拷贝文件