一个Qt的小例子
#include <QApplication>
#include <QLabel>
#include <QPushButton>
#include <pthread.h>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Quit");
//connect
QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit()));<pre name="code" class="cpp">QTextDocument * QSyntaxHighlighter::document() const
button->show(); return app.exec();}
editor = new QTextEdit ;
editor->setFont(font);
highlighter = new Highlighter(editor->document());其中connect的第一个参数是信号来源,即是哪个对象发出的信号,第二个参数即信号来源发出了什么信号,第三个是针对这个信号要作出响应的对象,第四个参数是要做出相应的对象要做的响应函数。
信号是在类定义中给出的类似于void函数声明的一种消息。它有参数列表却没有函数体。信号是一个类的接口的一部分。它看起来像函数,但不用同样的方式调用----它被此类的对象发射。
槽通常是一个void成员函数。它可以像普通的成员函数一样进行调用,或xxxx.
一个对象的信号可以与一个或多个对象的槽相连接,前提是这些对象存在并且参数列表从信号到槽都是赋值兼容的。
void QSyntaxHighlighter::setDocument(QTextDocument * doc)