Layout

#include "dialog.h"
#include <QPushButton>

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    //left
    UserNameLabel=new QLabel("用户名:");
    UserNameLineEidt=new QLineEdit;
    NameLabel=new QLabel("姓名:");
    NameLineEdit=new QLineEdit;
    SexLabel=new QLabel("性别:",this);
    SexComboBox=new QComboBox(this);
    SexComboBox->addItem("男");
    SexComboBox->addItem("女");
    Departmentlabel=new QLabel("部门:",this);
    DepartmentTextEdit=new QTextEdit;
    AgeLabel=new QLabel("性别:",this);
    AgeLineEdit=new QLineEdit;
    OtherLabel=new QLabel("备注:",this);
    OtherLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken);

    //leftlayout
    LeftLayout=new QGridLayout();
    LeftLayout->addWidget(UserNameLabel,0,0);
    LeftLayout->addWidget(UserNameLineEidt,0,1);
    LeftLayout->addWidget(NameLabel,1,0);
    LeftLayout->addWidget(NameLineEdit,1,1);
    LeftLayout->addWidget(SexLabel,2,0);
    LeftLayout->addWidget(SexComboBox,2,1);
    LeftLayout->addWidget(Departmentlabel,3,0);
    LeftLayout->addWidget(DepartmentTextEdit,3,1);
    LeftLayout->addWidget(AgeLabel,4,0);
    LeftLayout->addWidget(AgeLineEdit,4,1);
    LeftLayout->addWidget(OtherLabel,5,0,1,2);//宽度1格,长度2格

    LeftLayout->setColumnStretch(0,1);//0列宽度1
    LeftLayout->setColumnStretch(1,3);

    //right
    HeadLabel=new QLabel("头像:");
    HeadIconLabel=new QLabel;
    QPixmap icon("w.jpg");
    HeadIconLabel->setPixmap(icon);
    HeadIconLabel->resize(icon.width(),icon.height());
    UpdateHeadBtn=new QPushButton(tr("更新"));

    TopRightLayout=new QHBoxLayout();
    TopRightLayout->setSpacing(20);
    TopRightLayout->addWidget(HeadLabel);
    TopRightLayout->addWidget(HeadIconLabel);
    TopRightLayout->addWidget(UpdateHeadBtn);

    IntroductionLabel=new QLabel("个人说明:") ;
    IntroductionTextEdit=new QTextEdit;

    RightLayout=new QVBoxLayout();
    RightLayout->setMargin(10);
    RightLayout->addLayout(TopRightLayout);
    RightLayout->addWidget(IntroductionLabel);
    RightLayout->addWidget(IntroductionTextEdit);

    //bottom
    OkBtn=new QPushButton("确定");
    CancelBtn=new QPushButton("取消");

    BottomLayout=new QHBoxLayout();
    BottomLayout->addStretch();//在按钮之前插入一个占位符,使两个按钮能靠右对齐,并且在整个对话框大小发生改变时,保证按钮的大小不发生变化
    BottomLayout->addWidget(OkBtn);
    BottomLayout->addWidget(CancelBtn);

    QGridLayout *mainLayout=new QGridLayout(this);
    mainLayout->setMargin(15);
    mainLayout->setSpacing(10);
    mainLayout->addLayout(LeftLayout,0,0);
    mainLayout->addLayout(RightLayout,0,1);
    mainLayout->addLayout(BottomLayout,1,0,1,2);
    mainLayout->setSizeConstraint(QLayout::SetFixedSize);//设定最优化显示,即控件都按其sizeHint的大小显示,并使用户无法改变对话框的大小
}

Dialog::~Dialog()
{

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值