定义 AddressBook 类
addressbook.h 文件用于定义 AddressBook 类。
我们从定义 AddressBook 为 QWidget 子类和声明构造器开始入手。我们还使用
Q_OBJECT 宏表明该类使用国际化功能与 Qt 信号和槽功能,即使在本阶段不会
用到所有这些功能。
class AddressBook : public QWidget
{
Q_OBJECT
public:
AddressBook(QWidget *parent = 0);
private:
QLineEdit *nameLine;
QTextEdit *addressText;
};
该类包含了 nameLine 和 addressText 的声明、上文提到的 QLineEdit 和
QTextEdit 的私有实例。在以后章节中,您会看到储存在 nameLine 和
addressText 中的数据在地址簿的许多功能中都会用到。
我们不必包含要使用的 QLabel 对象的声明,这是因为在创建这些对象后我们不
必对其进行引用。在下一部分中,我们会说明 Qt 记录对象所属关系的方式。
Q_OBJECT 宏本身应用了部分更高级的 Qt 功能。 我们暂时把 Q_OBJECT 宏理解
为使用 tr() 和 connect() 函数的快捷方式,这种理解对我们的学习更有用。
我们现已完成 addressbook.h 文件,接下来我们来执行对应的
addressbook.cpp 文件。
应用 AddressBook 类
AddressBook 的构造器接收 QWidget 参数
parent
。按惯例,我们将参数传递给
基本类的构造器。这种父项可有一个或多个子项的所属概念对 Qt 中的 widget
分组十分有用。例如,如果删除父项,也会删除其所有子项。
AddressBook::AddressBook(QWidget *parent)
: QWidget(parent)
{
QLabel *nameLabel = new QLabel(tr("Name:"));
评论30
最新资源