/**********addressbook.h**************************/
class AddressBook : public QWidget
{
Q_OBJECT
public:
AddressBook(QWidget *parent = 0);
private:
QLineEdit *nameLine;
QTextEdit *addressText;
};
/***************end*********************************/
/*************addressbook.cpp********************/
AddressBook::AddressBook(QWidget *parent)
: QWidget(parent)
{
QLabel *nameLabel = new QLabel(tr("Name:"));
nameLine = new QLineEdit;
QLabel *addressLabel = new QLabel(tr("Address:"));
addressText = new QTextEdit;
QGridLayout *mainLayout = new QGridLayout;
mainLayout->addWidget(nameLabel, 0, 0);
mainLayout->addWidget(nameLine, 0, 1);
mainLayout->addWidget(addressLabel, 1, 0, Qt::AlignTop);
mainLayout->addWidget(addressText, 1, 1);
setLayout(mainLayout);
setWindowTitle(tr("Simple Address Book"));
}
我才学c++和Qt都不太久。这段是抄的例程,对于nameLabel ,addressLabel,mainLayout 为什么是局部的不太理解。
因为出了构造函数不就出了它们的作用域了吗?为什么在主函数中可以显示它们而没出错呢?
还有就是为什么各个成员都设计成指针然后开辟内存,直接在类内部声明类成员不行吗?例程这么做有什么好处?