通过实现一个“用户基本资料修改"的功能表单来介绍如何使用基本布局管理,如QHBoxLayout类、QVBoxLayout类及QGridLayout类,效果如图3.7所示。
代码示例:
```cpp
// dialog.h
class Dialog: public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
private:
// 左侧
QLabel *UserNameLabel;
QLabel *NameLabel;
QLabel *SexLabel;
QLabel *DepartmentLabel;
QLabel *AgeLabel;
QLabel *OtherLabel;
QLineEdit *UserNameLineEdit;
QLineEdit *NameLineEdit;
QComboBox *SexComboBox;
QTextEdit *DepartmentTextEdit;
QLineEdit *AgeLineEdit;
QGridLayout *LeftLayout;
// 右侧
QLabel *HeadLabel;
QLabel *HeadiconLabel;
QPushButton *UpdateHeadBtn;
QHBoxLayout *TopRightLayout;
QLabel *IntroductionLabel;
QTextEdit *IntroductionTextEdit;
QVBoxLayout *RightLayout;
// 底部
QPushButton *OkBtn;
QPushButton *CancelBtn;
QHBoxLayout *BottomLayout;
};
// dialog.cpp
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
setWindowTitle(tr("Userinfo"));
// 左侧
UserNameLabel = new QLabel(tr("用户名:"));
UserNameLineEdit = new QLineEdit;
NameLabel = new QLabel(tr("姓名:"));
NameLineEdit = new QLineEdit;
SexLabel = new QLabel(tr("性别:"));
SexComboBox = new QComboBox;
SexComboBox->addItem(tr("女"));
SexComboBox->addItem(tr("男"));
// 其他控件的初始化
LeftLayout = new QGridLayout;
// 右侧
// 其他控件的初始化
RightLayout = new QVBoxLayout;
// 底部
// 其他控件的初始化
BottomLayout = new QHBoxLayout;
}
```
注:以上代码仅为示例,具体实现可能会有所不同。
以上是您要学习的内容,包括程序代码的整理。