#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()
{
}
Layout
最新推荐文章于 2022-03-22 17:17:09 发布