分类: LINUX
2010-04-06 17:11:08
今天重新开工,刚刚进行了QtCreator的多窗口程序的学习,是参考网上的一些资料做的。程序的功能是程序开始出现一个对话框,按下按钮后便能进入主窗口,如果直接关闭这个对话框,便不能进入主窗口,整个程序也将退出。当进入主窗口后,我们按下按钮,会弹出一个对话框,无论如何关闭这个对话框,都会回到主窗口。现在我们具体的来做这个实验。
1. 新建Qt4 Gui Application工程,工程名为MultiWindow,Baseclass选为QWidget。建立好后工程文件列表如下图。
2.新建对话框类,如下图,选择Qt Designer Form Class。
3.选择Dialog without Buttons。
4.类名设为xyDlg。
5.点击Finish完成。注意这里已经默认将其加入到了我们刚建的工程中了。添加前后工程新增的内容如下图所示。
添加前
添加后
6.如下图,在xydlg.ui中拖入一个PushButton,将其上的文本改为“进入主窗口”,在其属性窗口中将其objectName改为enterBtn,在下面的Signalsand slotseditor中进行信号和槽的关联,其中,Sender设为enterBtn,Signal设为clicked(),Receive设为xyDlg,Slot设为accept()。这样就实现了单击这个按钮使这个对话框关闭并发出Accepted信号的功能。下面我们将利用这个信号。
7.修改主函数main.cpp,如下:
#i nclude
#i nclude"xydlg.h"
int main(int argc, char *argv[])
{
,年度翘尾行情值得期待!(附股);
}
8.如下图,在主窗口加入按钮,显示文本为“Go toSubWindow”,在其上点击鼠标右键,在弹出的菜单中选择go to slot。
9.我们选择单击事件clicked()。
10.我们在弹出的槽函数中添加一句:
整个程序里,我们用两种方法实现了信号和槽函数的关联,第一个按钮我们直接在设计器中实现其关联;第二个按钮我们自己写了槽函数语句,其实图形的设计与直接写代码效果是一样的。这个程序里我们实现了两类窗口打开的方式,一个是自身消失而后打开另一个窗口,一个是打开另一个窗口而自身不消失。可以看到他们实现的方法是不同的。
转自:http://www.abook.cn/blog/u/xugao918/archives/2010/552548.html