Qt 基础按钮布局管理
```cpp
public:
Content(QWidget *parent=0);
~Content();
QStackedWidget *stack;
QPushButton *AmendBtn;
QPushButton *CloseBtn;
Baseinfo *baseInfo;
Contact *contact;
Detail *detail;
// 打开 "Content.cpp" 文件,添加如下代码:
Content::Content(QWidget *parent) : QFrame(parent)
{
stack = new QStackedWidget(this);
// 创建一个QStackedWidget 对象
// 对堆栈窗口的显示风格进行设置
stack->setFrameStyle(QFrame::Panel | QFrame::Raised);
// 插入三个页面
baseinfo = new Baseinfo();
contact = new Contact();
detail = new Detail();
stack->addWidget(baseinfo);
stack->addWidget(contact);
stack->addWidget(detail);
// 创建两个按钮
// (a)
AmendBtn = new QPushButton(tr("修改"));
// (b)
CloseBtn = new QPushButton(tr("关闭"));
QHBoxLayout *BtnLayout = new QHBoxLayout;
BtnLayout->addStretch(1);
BtnLayout->addWidget(AmendBtn);
BtnLayout->addWidget(CloseBtn);
// 进行整体布局
QVBoxLayout *RightLayout = new QVBoxLayout(this);
RightLayout->setMargin(10);
RightLayout->setSpacing(6);
RightLayout->addWidget(stack);
RightLayout->addLayout(BtnLayout);
}
```
其中,
(a) baseinfo = new Baseinfo() 至 stack->addWidget(detail): 这段代码是在堆栈窗口中顺序插入“基本信息”“联系方式”“详细资料”三个页面。
(b) AmendBtn = new QPushButton(tr("修改")) 至 BtnLayout->addWidget(CloseBtn): 这段代码用于创建两个按钮,并利用QHBoxLayout 对其进行布局。
2. "修改用户基本信息”设计
- 添加该工程的提供主要显示用户基本信息界面的函数所在的文件,在"Example" 项目名上单击鼠标右键,在弹出的快捷菜单中选择“添加新文件…”选项,在弹出的对话框中选择"C++ Class" 选项,单击"Choose…”按钮。
- 弹出对话框,在"Base class "下拉列表框中选择基类名为"QWidget", 在"Class name" 的文本框中输入类的名称"BaseInfo"。单击“下一步”按钮,单击“完成“按钮,添加"baseinfo.h" 头文件和"baseinfo.cpp" 源文件。