您的位置:首页 > 编程语言 > Qt开发

Qt学习-----finddialog的代码注释

2013-11-19 20:56 369 查看
代码来自http://www.informit.com/store/c-plus-plus-gui-programming-with-qt4-9780132354165
vs2008,Qt4.7.3
记录自己学习Qt4的过程,方便复习

//finddialog.h

#ifndef FINDDIALOG_H
#define FINDDIALOG_H

#include <QDialog>
//前置声明用于对话框实验的Qt类
class QCheckBox;
class QLabel;
class QLineEdit;
class QPushButton;

class FindDialog : public QDialog//声明FindDIalog 并且把他作为QDialog的子类
{
Q_OBJECT//对于定义了信号槽的类,类定义开始必须写宏Q_OBJECT

public:
FindDialog(QWidget *parent = 0);//parent 参数指定其父窗口组件,默认值为0,也就是空指针,没有父对象

signals://用户单击find时发出的两个信号signal关键字实际上是一个宏
void findNext(const QString &str, Qt::CaseSensitivity cs);//Qt::CaseSensitivity 是一个枚举类型,它有两个值,Qt::CaseSensitive 和 Qt::CaseInsensitive
void findPrevious(const QString &str, Qt::CaseSensitivity cs);

private slots://两个槽,
/*

???
实现他们需要访问整个对话框的所有子部件,所以保留指向他们的指针

*/
void findClicked();
void enableFindButton(const QString &text);
/*

对以下的变量,使用了前置声明,因为他们都是指针,而且没必要在头文件就访问他们,因而编译程序无需这些类的完整定义
我们没有包含与这几个类相关的头文件,<QLabel>等,利用前置声明可以使得编译更快一些

*/
private:
QLabel *label;
QLineEdit *lineEdit;
QCheckBox *caseCheckBox;
QCheckBox *backwardCheckBox;
QPushButton *findButton;
QPushButton *closeButton;
};

#endif

//finddialog.cpp

#ifndef FINDDIALOG_H
#define FINDDIALOG_H

#include <QDialog>
//前置声明用于对话框实验的Qt类
class QCheckBox;
class QLabel;
class QLineEdit;
class QPushButton;

class FindDialog : public QDialog//声明FindDIalog 并且把他作为QDialog的子类
{
Q_OBJECT//对于定义了信号槽的类,类定义开始必须写宏Q_OBJECT

public:
FindDialog(QWidget *parent = 0);//parent 参数指定其父窗口组件,默认值为0,也就是空指针,没有父对象

signals://用户单击find时发出的两个信号signal关键字实际上是一个宏
void findNext(const QString &str, Qt::CaseSensitivity cs);//Qt::CaseSensitivity 是一个枚举类型,它有两个值,Qt::CaseSensitive 和 Qt::CaseInsensitive
void findPrevious(const QString &str, Qt::CaseSensitivity cs);

private slots://两个槽,
/*

???
实现他们需要访问整个对话框的所有子部件,所以保留指向他们的指针

*/
void findClicked();
void enableFindButton(const QString &text);
/*

对以下的变量,使用了前置声明,因为他们都是指针,而且没必要在头文件就访问他们,因而编译程序无需这些类的完整定义
我们没有包含与这几个类相关的头文件,<QLabel>等,利用前置声明可以使得编译更快一些

*/
private:
QLabel *label;
QLineEdit *lineEdit;
QCheckBox *caseCheckBox;
QCheckBox *backwardCheckBox;
QPushButton *findButton;
QPushButton *closeButton;
};

#endif

//main.cpp
#include <QApplication>

#include "finddialog.h"

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
FindDialog *dialog = new FindDialog;
dialog->show();
return app.exec();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: