话说,后来,在群上稍问了一下: 不能使用父类的信号作为发射源????
得到的答案是,能用~
在Q tCore
很多的继承类的都用到了,群上的同志们是这样说的,然后,开始怀疑是不是自己写的代码有问题,将自己的详细过程写出: 自己定义了这么几个类:// first.
[size=font-size:9.5pt,9.5pt]class[size=font-size:9.5pt,9.5pt] mainWindow : publicQMainWindow
[size=font-size:9.5pt,9.5pt]{
[size=font-size:9.5pt,9.5pt] Q_OBJECT
[size=font-size:9.5pt,9.5pt]public:
[size=font-size:9.5pt,9.5pt] mdiWindow * mdi;
[size=font-size:9.5pt,9.5pt]...
};
// second
[size=font-size:9.5pt,9.5pt]class[size=font-size:9.5pt,9.5pt] mdiWindow: publicQMdiArea
[size=font-size:9.5pt,9.5pt]{
[size=font-size:9.5pt,9.5pt] Q_OBJECT
[size=font-size:9.5pt,9.5pt]public:
[size=font-size:9.5pt,9.5pt] fileNew(); // [size=font-size:9.5pt,9.5pt]在[size=font-size:9.5pt,9.5pt]fileNew()[size=font-size:9.5pt,9.5pt]中有创建[size=font-size:9.5pt,9.5pt]singleText[size=font-size:9.5pt,9.5pt]的对象,放在内存的堆中。
[size=font-size:9.5pt,9.5pt]...
};
// third
[size=font-size:9.5pt,9.5pt]class[size=font-size:9.5pt,9.5pt] singleText: publicQTextEdit
[size=font-size:9.5pt,9.5pt]{
[size=font-size:9.5pt,9.5pt] Q_OBJECT
[size=font-size:9.5pt,9.5pt]publicslot:
[size=font-size:9.5pt,9.5pt] test(); // [size=font-size:9.5pt,9.5pt]弹出一个[size=font-size:9.5pt,9.5pt]QMessageBox[size=font-size:9.5pt,9.5pt]的对话框,用于测试函数。
[size=font-size:9.5pt,9.5pt]...
[size=font-size:9.5pt,9.5pt]
};
因为在QTextEdit
中有信号void QMdiArea::subWindowActivated ( QMdiSubWindow *
window )[signal]
由于功能需要,想在[size=font-size:9.5pt,9.5pt]
mainWindow[size=font-size:9.5pt,9.5pt]
中使用到这个函数,于是就尝试[size=font-size:9.5pt,9.5pt]
connect[size=font-size:9.5pt,9.5pt]
这个信号,但了,为了排除其它因素的影响,就直接在第三个类中做测试了。 在第三个类的构造函数中添加下面的语句:connect(this, SIGNAL(subWindowActiveated(QMdiSubWindow* window)), this, SLOT(book()));结果,在进行窗口切换时,这个slot并没有响应,不知道是不是自己的connect方法出错,在这里请教大家如何能在子类中使用父类的信号?能这样使用的吗?