Qt Creator多窗口程序编写.doc_第1页
Qt Creator多窗口程序编写.doc_第2页
Qt Creator多窗口程序编写.doc_第3页
Qt Creator多窗口程序编写.doc_第4页
Qt Creator多窗口程序编写.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

QtCreator多窗口程序编写(2010-02-15 16:35:32) 标签: qtcreator多窗口程序it分类:Qt_Creator 今天重新开工,刚刚进行了Qt Creator的多窗口程序的学习,是参考网上的一些资料做的。程序的功能是程序开始出现一个对话框,按下按钮后便能进入主窗口,如果直接关闭这个对话框,便不能进入主窗口,整个程序也将退出。当进入主窗口后,我们按下按钮,会弹出一个对话框,无论如何关闭这个对话框,都会回到主窗口。现在我们具体的来做这个实验。1. 新建Qt4 Gui Application工程,工程名为MultiWindow,Base class选为QWidget。建立好后工程文件列表如下图。2.新建对话框类,如下图,选择Qt Designer Form Class。3.选择Dialog without Buttons。4.类名设为xyDlg。5.点击Finish完成。注意这里已经默认将其加入到了我们刚建的工程中了。添加前后工程新增的内容如下图所示。添加前添加后6.如下图,在xydlg.ui中拖入一个Push Button,将其上的文本改为“进入主窗口”,在其属性窗口中将其objectName改为enterBtn,在下面的Signals and slots editor中进行信号和槽的关联,其中,Sender设为enterBtn,Signal设为clicked(),Receive设为xyDlg,Slot设为accept()。这样就实现了单击这个按钮使这个对话框关闭并发出Accepted信号的功能。下面我们将利用这个信号。7.修改主函数main.cpp,如下:#include #include widget.h#include xydlg.h /加入头文件int main(int argc, char *argv) QApplication a(argc, argv); Widget w; xyDlg xy1; /建立自己新建的类的对象xy1 if(xy1.exec()=QDialog:Accepted) /利用Accepted信号判断enterBtn是否被按下 w.show(); /如果被按下,显示主窗口 return a.exec(); /程序一直执行,直到主窗口关闭 else return 0; /如果没被按下,则不会进入主窗口,整个程序结束运行 主函数必须这么写,才能完成所要的功能。8.如下图,在主窗口加入按钮,显示文本为“Go to SubWindow”,在其上点击鼠标右键,在弹出的菜单中选择go to slot。9.我们选择单击事件clicked()。10.我们在弹出的槽函数中添加一句: xy2.show(); xy2为我们新建对话框类的另一个对象,但是xy2我们还没有定义,所以在widget.h文件中添加相应代码,如下,先加入头文件,再加入my2的定义语句,这里我们将其放到private里,因为一般的函数都放在public里,而变量都放在private里。 #ifndef WIDGET_H #define WIDGET_H #include #include xydlg.h /包含头文件 namespace Ui class Widget; class Widget : public QWidget Q_OBJECT public: Widget(QWidget *parent = 0); Widget(); private: Ui:Widget *ui; xyDlg xy2; /对my2进行定义 private slots: void on_pushButton_clicked(); ;#endif / WIDGET_H到这里,再运行程序,便能完成我们实验要求的功能了。看一下效果图: 整个程序里,我们用两种方法实现了信号和槽函数的关联,第一个按钮我们直接在设计器中实现其关联;第二个按钮我们自己写了槽函数语句,其实图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论