更多参见
QT基础与实例应用目录
代码链接
GitHub链接 :ExtensibleDialogExample
简介
扩展对话框通常情况下,只是出现基本对话框,可通过某种方式切换显示完整的对话框窗体,一般情况下通过一个按钮实现。
注意:
1、需要设置对话框的尺寸保持相对固定,确保扩展对话框在扩展隐藏后能恢复到初始状态。
void setSizeConstraint(QLayout::SizeConstraint)
设置布局调整大小的模式
参见Qt帮助手册
例子默认情况下只显示基础信息部分,通过一个按钮来展示或者隐藏扩展的部分。
代码展示
头文件
class ExtensibleDlg : public QDialog
{
Q_OBJECT
public:
ExtensibleDlg(QWidget *parent = nullptr);
~ExtensibleDlg();
private slots:
void showDetailInfoPart(); // 按钮响应用于 显示隐藏 扩展部分
private:
void CreateBaseInfoPart(); // 创建基础信息部分
void CreateDetailInfoPart(); // 创建扩展的细节信息部分
QWidget *baseInfoPart; // 础信息部分
QWidget *detailInfoPart; // 细节信息部分
QVBoxLayout *mainLayout; // 布局
};
Cpp文件
ExtensibleDlg::ExtensibleDlg(QWidget *parent)
: QDialog(parent)
{
setWindowTitle(tr("Extension Dialog Example"))