我刚开始学QT,现在在弄一个类型WIN7的桌面便贴的小软件,一共就两个
窗口,一个主窗口和一个子窗口(弹出的警告窗口),就是想在点击主窗口的
删除按钮时弹出子窗口后,我点击主窗口的关闭按钮(程序退出)时子窗口会闪两下提示还有问题未解决,同时主窗口不能关闭,必须将子窗口关闭后才能关闭主窗口,这个信号与槽机制该怎么写,另外,我有两个
头文件,能将里面的类提到一个头文件里面吗?(为了防止重复包含的),主要是那个代码怎么写啊???
对于这个问题:在多窗口(2个及2个以上)切换问题(每次只能显示一个问题,当然,模态窗口除外),通过点击按钮来到下一个窗口或者是返回之前的窗口,可以在鼠标点击事件中,new出下一个窗口,并show,该窗口则
hide,同时在该函数里连接一个信号与槽,接收另一个窗口关闭时发出的信号并显示出来,代码如下:
要在A中点击按钮切换成B窗口
A.h
前置申明类B:class B;
public中:申明指针B *b;
A.cpp
包含B的头文件
void Start
::on_bBtn_clicked
()[pre]
{[/pre][pre]
b
=new B
;[/pre][pre]
b
->show
();[/pre][pre]
this->hide
();[/pre][pre]
QObject::connect
(b
,SIGNAL(b_closed
()),this,SLOT(show
()));[/pre][pre]
}[/pre][pre]
B.cpp[/pre][pre]
void B::on_bBtn_clicked()[pre]{[/pre][pre] emit b_closed();[/pre][pre] this->close();[/pre][pre]}[/pre][pre]这样通过发送信号给A,A在接收到该信号时就显示出来了,完成了切换,多窗口同样适用,QT的信号与槽机制确实很灵活~~~[/pre][/pre]
[ 此帖被sd菜在2010-10-24 16:13重新编辑 ]