在书本上的一个connect()函数没看懂
我刚学Qt不久,对信号/槽机制还不熟,connect(Object1,SIGNAL(..),Object2,SLOT(..)),自己练习写的时候,一直都认为1,3是两个对象,提供二者之间通讯机制。今天刚了一段文档编辑器的例子,就有点看不懂了,代码如下
// 新建文件操作
void MdiChild::newFile()
{
// 设置窗口编号,因为编号一直被保存,所以需要使用静态变量
static int sequenceNumber = 1;
// 新建的文档没有被保存过
isUntitled = true;
// 将当前文件命名为未命名文档加编号,编号先使用再加1
curFile = tr("未命名文档%1.txt").arg(sequenceNumber++);
// 设置窗口标题,使用[*]可以在文档被更改后在文件名称后显示”*“号
setWindowTitle(curFile + "[*]" + tr(" - 多文档编辑器"));
// 当文档被更改时发射contentsChanged()信号,
// 执行我们的documentWasModified()槽函数
connect(document(), SIGNAL(contentsChanged()),
this, SLOT(documentWasModified()));
}
上面的document()是指文档吗?在头文件中也没看到相关的,对这个参数不理解,怎么就突然蹦出来了,对Qt好多不懂,请大家指教下.
[解决办法]
可能document()返回的是一个对象吧。
[解决办法]
connect(Object1,SIGNAL(..),Object2,SLOT(..))
object1、2是两个基类是QObject的类的指针。
SIGNAL和SLOT是可以匹配的信号和槽。
[解决办法]
setPlainText(in.readAll()); 这个是为了使用方便,在QTextEdit里又写了一个,其实就是调用上面的那个。