- 0
- 0
- 约7.14千字
- 约 25页
- 2026-02-02 发布于河北
- 举报
第9章图形界面程序设计基础本章主要内容:介绍Qt环境中两种开发图形界面应用程序的方法:命令行方法和集成环境开发方法把基本的C++知识与Qt所提供的功能组合起来创建简单的图形界面(GraphicalUserInterface,GUI)应用程序重要概念:信号和槽、布局对象是现实世界中具有属性、方法和事件的实体。C++程序将现实世界中的实体对象模型化,描述为包含了数据和代码的逻辑实体——对象,其中:数据描述对象状态的属性,是对象外观和状态等特征的说明。图形界面上的各种控件、窗口等都是对象。一个对象可以有多个属性,不同类别的对象一般情况下具有不同的属性。代码描述该对象可以执行的行为。是指对象能执行的操作,通过编制程序代码来具体实现,如Move方法、Print方法等。9.1.1C++中的对象9.1图形界面程序设计基础知识窗体上的对象事件指的是那些能够被对象识别的在程序执行时由系统自身或用户所引发的一些事件。第一是键盘和鼠标等输入设备;第二是屏幕上的可视对象,如程序的菜单、工具栏按钮和对话框控件(可以采用鼠标和键盘点击这些对象产生可视事件);第三是由操作系统本身产生,如窗口的放大与恢复等。事件图形界面程序是基于事件驱动(用户驱动)的系统如单击鼠标时会产生clicked事件、双击鼠标会产生doubleclicked事件。同样当用户按下键盘上一个键、改变窗口大小、用鼠标打开、关闭程序或者点击程序菜单都会产生事件,每个事件都可以对应一组程序代码,也就是事件过程。在程序执行时,用户针对某对象执行了某事件,就会触发该对象的相应事件,系统也就会执行程序员预先编好的程序代码,完成特定的运算或操作,实现特定的功能。程序员通过预先设定多个对象的多个事件,并建立起各个对象事件之间的逻辑关联,就可以完成较复杂的任务。事件机制是C++程序运行的最基本机制,即简单易行,也给用户操作计算机带来了方便。图形界面程序是基于事件驱动(用户驱动)的系统,它的程序靠响应用户的操作来驱动工作。窗体又称为对象窗口,主要用来设计应用程序的界面,窗体是C++程序的主体部分。它具有标题栏、最大化、最小化、还原等按钮,可被移动、改变大小及缩成图标。程序员可以在窗体中添加菜单、工具栏、状态栏、标签、文本编辑框、列表框、组合框、单选按钮、复选按钮、命令按钮、图像等控件,从而设计出一个友好的人机交互的应用程序界面。9.1.2QtC++中的窗体一个应用程序项目可以有多个窗体。每个窗体必须有一个唯一的窗体名字,创建某些项目时会自动创建项目的主窗体MainWindow。程序员可以通过窗体的属性窗口更改窗体的名字。可增加新的窗体。程序窗口中常见的单选、复选、命令等各种按钮、以及文本编辑框、列表框等被称为QtC++中的部件(或称为控件)。在QtC++开发环境下,部件箱里的图标对应的是一些常用的基本部件类,QtCreator提供可视化的面向对象编程,只需在QtCreator提供的编辑界面下通过鼠标的操作和简单的配置,无须输入所有的代码,就可以完成对象的创建和界面设计工作。9.1.3QtC++中的部件和部件类9.1.4QtC++中的属性(Properties)窗口当选定一个窗体或部件时,属性窗口会自动显示其属性列表。系统已经为所有的属性提供了默认值,程序员只需对其中一些重要的属性进行设置或修改,其他属性的值则可以保留。9.2.1Qt的信号和槽信号和槽是Qt特有的信息传输驱动机制,是Qt程序设计的重要基础。它可以让程序员在互不相干的对象之间建立联系。槽本质上是类的成员函数,其参数可以是任意类型。它和普通的C++成员函数几乎没有区别,它可以是虚函数;也可以被重载;可以是公有的、保护的或者私有的,也可以被其他C++成员函数直接调用。槽还可以和信号连接在一起,每当和槽连接的信号被发射的时候,就会自动调用这个槽。9.2.2Qt的信号和槽的语法形式connect()语句语法形式如下:connect(sender,SIGNAL(signal),receiver;SLOT(slot));这里的sender是发送信号的对象的指针,receive是包含槽的对象的指针,signal是被发送的信号,slot是接收信号的槽,它们都是不带参数的函数名。SIGNAL()宏和SLOT()宏会把它们的参数转换成相应的字符串。举例:QObject::connect(button,SIGNAL(clicked()),app,SLO
您可能关注的文档
- 山东师范大学 研究生 C++高级程序设计 补充:第1章 认识Qt.ppt
- 山东师范大学 研究生 C++高级程序设计 第3章 类与对象.ppt
- 山东师范大学 研究生 C++高级程序设计 第2章 C++程序设计基础.ppt
- 山东师范大学 研究生 C++高级程序设计 第4章 继承.ppt
- 山东师范大学 研究生 C++高级程序设计 第5章 虚函数与多态.ppt
- 山东师范大学 研究生 C++高级程序设计 第6章 运算符重载.ppt
- 山东师范大学 研究生 C++高级程序设计 第7章 模板与异常处理.ppt
- 山东师范大学 研究生 C++高级程序设计 第8章 输入输出流与命名空间.ppt
- C++练习题及答案.doc
- c++练习题及其答案.doc
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- DB37_T 4904-2025 链式切割水泥土连续墙技术规程.docx VIP
- DB37_T 4903-2025 沥青路面防裂封水粘结层技术规范.docx VIP
- DB37_T 4909-2025 城市轨道交通隧道结构渗漏水治理技术规程.docx VIP
- 2026年河南工业和信息化职业学院单招职业技能考试题库及参考答案详解.docx VIP
- DB37_T 4914-2025 电梯按需维护保养管理技术规范.docx VIP
- DB37_T 4915-2025 氧气瓶充装自动控制技术要求.docx VIP
- 最全汉语水平的考试HSK6级历年真题经典版.pdf VIP
- 博朗-欧乐B_OralB 5000__O3762_5_CHIN使用说明书.pdf VIP
- DB37_T 4918.5-2025 政务信息化项目管理 第5部分:项目和系统编码.docx VIP
- 价值链视角下的山西汾酒公司资金管理问题与优化路径探究11000字【论文】 .docx VIP
原创力文档

文档评论(0)