先定义头文件:address.h
#ifndef ADDRESSBOOK_H #define ADDRESSBOOK_H #include <QWidget> QT_BEGIN_NAMESPACE class QLabel; class QLineEdit; class QTextEdit; QT_END_NAMESPACE //! [class definition] class AddressBook : public QWidget { Q_OBJECT public: AddressBook(QWidget *parent = 0); private: QLineEdit *nameLine; QTextEdit *addressText; }; //! [class definition] #endif
在address.cpp文件中对address.h中的成员变量进行声明:
#include <QtWidgets> #include "addressbook.h" //! [constructor and input fields] AddressBook::AddressBook(QWidget *parent) : QWidget(parent) { QLabel *nameLabel = new QLabel(tr("Name:")); nameLine = new QLineEdit; QLabel *addressLabel = new QLabel(tr("Address:")); addressText = new QTextEdit; //! [constructor and input fields] //! [layout] 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); //! [layout] //![setting the layout] setLayout(mainLayout); setWindowTitle(tr("Simple Address Book")); } //! [setting the layout]
用main.cpp文件生成整个窗口:
#include <QtWidgets> #include "addressbook.h" //! [main function] int main(int argc, char *argv[]) { QApplication app(argc, argv); AddressBook addressBook; addressBook.show(); return app.exec(); } //! [main function]
将三个文件放在一个工程中,编译、运行,可得到如下结果:
现在地址薄只能显示名字、地址的标签和编辑栏,还没有添加功能,需要进一步
修改。
时间: 2024-08-28 01:32:10