基本对话框.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本对话框.doc

第1章 基本对话框 本章的实例对Qt编程的基本流程标准对话框的使用方法以及Qt?Designer的使用方法等进行了分析,包括个实例: Hello World 标准对话框的使用 各类位置信息 使用标准输入框 各种消息框的使用 实现QQ抽屉效果 表格的使用 利用Qt Designer设计一个对话框 在程序中使用ui 动态加载ui 1 Hello World! 知识点: ??图1-1 Hello World! 这是一个简单的例子,整个对话框只有一个按钮,单击该按钮,对话框关闭,退出 程序。 实现代码如下: 1 #include QApplication 2 #include QPushButton 3 int main(int argc, char *argv[]) { 4 QApplication app(argc,argv); 5 QPushButton b(Hello World !); 6 b.show(); 7 QObject::connect(b,SIGNAL(clicked()),app,SLOT(quit())); 8 return app.exec(); } 第1行包括QApplication,所有Qt图形化应用程序都必须包含此文件,它包含了Qt图形化应用程序的各种资源、基本设置、控制流以及事件处理等,若是Qt的非图形化应用程序,则需包含QCoreApplication。 小贴士:Qt最初的框架只有关于图形化应用的类,随着它的一步步发展,Qt已独立发展出了许多非图形化的类库,如数据库应用、XML解析等。 第2行包含了程序中要应用到的按钮控件的头文件。 小贴士:在Qt4中,头文件的包含可以采用类似QApplication和QPushButton的形 式,也可以写成qapplication.h和qpushbutton.h的形式。 第3行为应用程序的入口,所有Qt程序都必须有一个main()函数,以argc和argv作为入口参数。 第4行新创建了一个QApplication对象,每个Qt应用程序都必须有且只一个QApplication对象,采用argc、argv作为参数,便于程序处理命令行参数。 第5行创建了一个QPushButton对象,并设置它的显示文本为“Hello World !”,由于此处并没有指定按钮的父窗体,因此以自己作为主窗口。 第6行调用show()方法,显示此按钮。控件被创建时,默认是不显示的,必须调用show()函数来显示它。 第7行的QObject::connect()方法是Qt最重要的特征,即信号与槽的机制。当按钮被按下则触发clicked()信号发射,与之相连的QApplication对象的槽quit()响应按钮信号,执行退出应用程序的操作。关于信号与槽机制在本实例最后将进行详细的分析。 最后调用QApplication的exec()方法,程序进入消息循环等待可能输入进行响应–project qmake make ./hello 其中,qmake –project命令用于生成程序的项目文件(*.pro);qmake用于生成程序的Makefile文件;make编译Makefile文件得到可执行文件;最后执行程序即可出现 图1-1所示的对话框,一个简单的Hello World!例子完成。 小贴士:确保Qt的环境变量路径设置正确,程序编译时若出现连接错误,请首先检查 有关Qt的环境变量,保证调用的qmake为相应的Qt版本。 信号与槽机制(signalslot)作为Qt最重要的特性,提供了任意两个Qt对象之间的通信机制。其中,信号会在某个特定情况或动作下被触发,槽是用于接收并处理信号的函数。例如,要将一个窗口中的变化情况通知给另一个窗口,则一个窗口发送信号,另一个窗口的槽接收此信号并进行相应的操作,即可实现两个窗口之间的通信。这比传统的图形化程序采用回调函数的方式实现对象间通信要简单灵活得多。每个Qt对象都包含预定的信号和槽,当某一特定事件发生时,一个信号被发射,与信号相关联的槽则会响应信号完成相应的处理。 信号与槽机制常用的连接方式为: connect( Object1, SIGNAL(signal), Object2, SLOT(slot) ); signal为对象Object1的信号,slot为对象Object2的槽,Qt的窗口部件都包含若干个预定义的信号和若干个预定义的槽。当一个类被继承时,该类的信号和槽也同时被继承。开发人员也可以根据需要定义自己的信号和槽。 信号与槽机制可以有多种连接方式,图1-2中描述了信号与槽的多种可能连接方式。 图1-2 信号与槽的连接方式 ① 一个信号可以与另一个信号相连。 connect(O

文档评论(0)

snj01 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档