一个简单的例子。通过qt的设计器 里面有 1个edit 2个button 一个okbutton 一个cancelbutton 
有3个dlg。h和dlg。cpp  main。cpp
dlg。h文件如下
class dlg: pulic QDialog ,pulic Ui::togoDialog//togoDialog是设计器的ui**.h类
{
    Q_OJBECT
public:
    dlg(QWidget *parent=0);
private slots:
    void on_lineEdit_changed();
};
dlg.cpp 文件如下
dlg:dlg(QWidget *parent) :QDialgo(parent)
{
    setupUi(this);
    connect (okbutton,SIGNAL(clicked()),this,SLOT(accept()));
    connect (cannelbutton,SIGNAL(clicked()),this,SLOT(reject()));
//信号槽关联。
}
void dlg::on_lineEdit_textchanged()
{
    okbutton->setEnabled(Edit->hasAcceptableInput());
}
 
默认okbutton是false
这个程序。如果在edit中输入okbutton变成可用
问题是:okbutton 自己产生信号。自己接受。这个edit是如何和okbutton关联的呢。
如果是这个clicked是edit产生的。和okbutton 关联。那么这个on_linedit_textchanged()函数谁什么时候调用的。
就像mfc中的事件相应。我单击edit会有个消息相应。进入到消息相应的函数中。进行处理。这里面的edit控件的消息相应函数在那呢?
同样:我在cpp文件中加入另一个函数。同样也是在privaet slot中声明的为什么,当edit有输入的时候。没有message弹出呢?
void dlg::mesg()
{
    if(edit->hasAcceptableInput())
    {
       QMessage:....
     }
}
谢谢了!!!