欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第10章 Linux编程—图形界面设计.pdf

    • 资源ID:70011724       资源大小:638.25KB        全文页数:36页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第10章 Linux编程—图形界面设计.pdf

    LinuxLinux操作系统操作系统操作系统操作系统 大工软件学院嵌入式系大工软件学院嵌入式系邱铁邱铁办公楼办公楼409Tel:87571521E_mail:第10章Linux图形界面设计工程实践的目的与任务工程实践的目的与任务了解Linux X Windows,及QT信号机制。熟悉QT编程,实现如图1所示单位转换工具并可以熟练利用QT Designer设计图形界面应用程序。X窗口是一种用于UNIX系统的标准图形化用户界面(GUI),它是由麻省理工学院开发的。GUI是用鼠标器和键盘控制的,具有下拉菜单、在屏按钮、卷动条和为运行不同应用的重叠窗口界面。X窗口系统在位映射屏幕上的一个或多个窗口中运行程序。用户可以在每个窗口同时在系统上运行多个程序,并且通过用鼠标器点击它们来在窗口之间进行交换。X服务器处理所有X客户的处理程序,以及通过消息传递系统和其它客户交互工作。X服务器控制整个本地环境,因而当访问存储器和其它系统资源时,程序间进行合作。QT编程 Qt是一个跨平台的C+图形用户界面库,由挪威TrollTech公司出品,目前包括Qt,基于Framebuffer的Qt Embedded,快速开发工具Qt Designer,国际化工具Qt Linguist等部分Qt支持所有Unix系统,当然也包括Linux,还支持 WinNT/Win2k,Win95/98 平台。Trolltech 公司在1994 年成立,但是在1992年,成立Trolltech公司的那批程序员就已经开始设计Qt 了,Qt的第一个商业版本于1995年推出Qt具有下列优点:优良的跨平台特性:Qt支持下列操作系统:Microsoft Windows 95/98,Microsoft Windows NT,Linux,Solaris,SunOS,HP-UX,Digital UNIX(OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX 等等。面向对象Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。Qt 提供了一种称为signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。丰富的 API Qt 包括多达 250 个以上的 C+类,还替供基于模板的 collections,serialization,file,I/O device,directory management,date/time 类。甚至还包括正则表达式的处理 功能。QT Designer Qt设计器是用来设计和实现用户界面并能够在多平台下使用的一种工具。Qt设计器可以使用户界面设计实验变得简单。在任何时候你可以要求所生成的代码去重建Qt设计器产生的用户界面文件,并可以根据你的喜好来改变你的设计。qmake qmake是Trolltech公司创建的用来为不同的平台和编译器书写Makefile的工具。手写Makefile是比较困难并且容易出错的,尤其是需要给不同的平台和编译器组合写几个Makefile。使用qmake,开发者创建一个简单的“项目”文件并且运行qmake生成适当的Makefile。QT信号与Slot机制 信号和槽机制是QT的核心机制,要精通QT编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别于其它工具包的重要地方。信号和槽是QT自行定义的一种通信机制,它独立于标准的C/C+语言,因此要正确的处理信号和槽,必须借助一个称为moc(Meta Object Compiler)的QT工具,该工具是一个C+预处理程序,它为高层次的事件处理自动生成所需要的附加代码。在QT中信号和槽取代了这些凌乱的函数指针,使得我们编写这些通信程序更为简洁明了。信号和槽能携带任意数量和任意类型的参数,他们是类型完全安全的,不会像回调函数那样产生core dumps。信号 当某个信号对其客户或所有者发生的内部状态发生改变,信号被一个对象发射。只有定义过这个信号的类及其派生类能够发射这个信号。当一个信号被发射时,与其相关联的槽将被立刻执行,就象一个正常的函数调用一样。信号-槽机制完全独立于任何GUI事件循环。只有当所有的槽返回以后发射函数(emit)才返回。如果存在多个槽与某个信号相关联,那么,当这个信号被发射时,这些槽将会一个接一个地执行,但是它们执行的顺序将会是随机的下面定义了三个信号:signals:void mySignal();void mySignal(int x);void mySignalParam(int x,int y);在上面的定义中,signals是QT的关键字,而非C/C+的。接下来的一行void mySignal()定义了信号mySignal,这个信号没有携带参数;接下来的一行void mySignal(int x)定义 了重名信号mySignal,但是它携带一个整形参数,这有点类似于C+中的虚函数。从形式上 讲信号的声明与普通的C+函数是一样的,但是信号却没有函数体定义,另外,信号的返回 类型都是void,不要指望能从信号返回什么有用信息。信号由moc自动产生,它们不应该在.cpp文件中实现。槽 槽是普通的C+成员函数,可以被正常调用,它们唯一的特殊性就是很多信号可以与其相关联。当与其关联的信号被发射时,这个槽就会被调用。槽可以有参数,但槽的参数不能有缺省值。槽函数也分为三种类型,即public slots、private slots和protected slots。public slots:在这个区内声明的槽意味着任何对象都可将信号与之相连接。这对于组件编程非常有用,你可以创建彼此互不了解的对象,将它们的信号与槽进行连接以便信息能够正确的传递。protected slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接。这适用于那些槽,它们是类实现的一部分,但是其界面接口却面向外部。private slots:在这个区内声明的槽意味着只有类自己可以将信号与之相连接。这适用于联系非常紧密的类。下面声明了三个槽public slots:void mySlot();void mySlot(int x);void mySignalParam(int x,int y);信号与槽的关联 通过调用QObject对象的connect函数来将某个对象的信号与另外一个对象的槽函数相关联,这样当发射者发射信号时,接收者的槽函数将被调用。该函数的定义如下:bool QObject:connect(const QObject*sender,const char*signal,const QObject*receiver,const char*member)static创建工程目录打开QT Designer#su#mkdir convertor#cd convertor#designer&QT Designer 新建工程 选择FileNew菜单项,选择C+Project,创建新的工程,绘制窗体控件Name说明LineEditleEnterNumber输入待转换数字文本框ComboBoxcbConvertFrom源转换单位ComboBoxcbConvertTo目标转换单位LineEditleResult转换结果SpinBoxsbDecimals转换结果的小数位数PushButtonpbClear清楚PushButtonpbCalculate开始转换PushButtonpbQuit退出向组合框(Combo Box)添加选项 右击cbConvertFrom和cbConvertTo,选择Edit,如图11.7所示。添加要转换的单位。对cbConvertFrom添加KiloMeters、Meters、CentiMeters、MilliMeters,对cbConvertTo添加Miles、Yards、Feet、Inches。编写代码 添加槽处理函数 添加信号-槽的映射:编辑Convert函数 为项目添加主cpp文件生成Makefile 在终端中使用qmake命令生成Makefile文件。编译运行编译运行 在终端中,运行make命令编译程序,程序编译后,可以发现在项目目录中多了一个可执行文件convertor。结果 在终端中运行./convertor命令,启动程序。

    注意事项

    本文(第10章 Linux编程—图形界面设计.pdf)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开