QT中的emit有什么用

QT中的emit有什么用
我是根据C++ QT4编程  那本书学的  一开始就用了emit

#ifndef FINDDIALOG_H
#define FINDDIALOG_H
 
#include <QtGui/QDialog>
 
class QCheckBox;
class QLabel;
class QLineEdit;
class QPushButton;
 
class FindDialog : public QDialog
{
        Q_OBJECT
 
public:
        FindDialog(QWidget *parent = 0);
        ~FindDialog();
signals:
        void findNext(const QString &str, Qt::CaseSensitivity cs);
        void findPrevious(const QString &str, Qt::CaseSensitivity cs);
private slots:
        void findClicked();
        void enableFindButton(const QString &text);
private:
        QLabel *label;
        QLineEdit *lineEdit;
        QCheckBox *caseCheckBox;
        QCheckBox *backwardCheckBox;
        QPushButton *findButton;
        QPushButton *closeButton;
};
 
#endif // FINDDIALOG_H

这是.h文件


#include <QtGui>
#include "finddialog.h"
 
FindDialog::FindDialog(QWidget *parent)
        : QDialog(parent)
{
        label = new QLabel(tr("Find &what:"));
        lineEdit = new QLineEdit;
        label->setBuddy(lineEdit);
 
        caseCheckBox = new QCheckBox(tr("Match &case"));
        backwardCheckBox = new QCheckBox(tr("Search &backford"));
 
        findButton = new QPushButton(tr("&Find"));
        findButton->setDefault(true);
        findButton->setEnabled(false);
 
        closeButton = new QPushButton(tr("Close"));
 
        connect(lineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(enableFindButton(const QString&)));
        connect(findButton, SIGNAL(clicked()), this, SLOT(findClicked()));
        connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
 
        QHBoxLayout *topLeftLayout = new QHBoxLayout;
        topLeftLayout->addWidget(label);
        topLeftLayout->addWidget(lineEdit);
 
        QVBoxLayout *leftLayout = new QVBoxLayout;
        leftLayout->addLayout(topLeftLayout);
        leftLayout->addWidget(caseCheckBox);
        leftLayout->addWidget(backwardCheckBox);
 
        QVBoxLayout *rightLayout = new QVBoxLayout;
        rightLayout->addWidget(findButton);
        rightLayout->addWidget(closeButton);
        rightLayout->addStretch();
 
        QHBoxLayout *mainLayout = new QHBoxLayout;
        mainLayout->addLayout(leftLayout);
        mainLayout->addLayout(rightLayout);
        setLayout(mainLayout);
 
        setWindowTitle(tr("Find"));
        setFixedHeight(sizeHint().height());
}
 
FindDialog::~FindDialog()
{
 
}
 
void FindDialog::findClicked()
{
        QString text = lineEdit->text();

[1] [2] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有