标题:二、Qt Creator编写多窗口程序(原创)
作者:yafei86
日期:2009-10-18 16:02
内容:
到我的空间查看完整图文介绍:点这里
实现功能:
程序开始出现一个对话框,按下按钮后便能进入主窗口,如果直接关闭这个对话框,便不能进入主窗口,整个程序也将退出。当进入主窗口后,我们按下按钮,会弹出一个对话框,无论如何关闭这个对话框,都会回到主窗口。
实现原理:
程序里我们先建立一个主工程,作为主界面,然后再建立一个对话框类,将其加入工程中,然后在程序中调用自己新建的对话框类来实现多窗口。
实现过程:
1.首先新建Qt4 Gui Application工程,工程名为nGui,Base class选为QWidget。建立好后工程文件列表如下图。
2.新建对话框类,如下图,在新建中,选择Qt Designer Form Class。
3.选择Dialog without Buttons。
4.类名设为myDlg。
5.点击Finish完成。注意这里已经默认将其加入到了我们刚建的工程中了。
6.如下图,在mydlg.ui中拖入一个Push Button,将其上的文本改为“进入主窗口”,在其属性窗口中将其objectName改为enterBtn,在下面的Signals and slots editor中进行信号和槽的关联,其中,Sender设为enterBtn,Signal设为clicked(),Receive设为myDlg,Slot设为accept()。这样就实现了单击这个按钮使这个对话框关闭并发出Accepted信号的功能。下面我们将利用这个信号。
7.修改主函数main.cpp,如下:
#include
#include "widget.h"
#include "mydlg.h" //加入头文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
myDlg my1; //建立自己新建的类的对象my1
if(my1.exec()==QDialog::Accepted)//利用Accepted信号判断enterBtn是否被按下
{
w.show(); //如果被按下,显示主窗口
retur ..