QT 布局





#include "dialog.h"
#include<QListWidget>
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("男"));
       DepartmentLabel =new QLabel(tr("部门:"));
       DepartmentTextEdit =new QTextEdit;
       AgeLabel =new QLabel(tr("年龄:"));
       AgeLineEdit =new QLineEdit;
       OtherLabel =new QLabel(tr("备注:"));
       OtherLabel->setFrameStyle(QFrame::Panel|QFrame::Sunken);
 
       LeftLayout =new QGridLayout();
 
       LeftLayout->addWidget(UserNameLabel,0,0);     			//用户名
       LeftLayout->addWidget(UserNameLineEdit,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);             	//其他
 
       LeftLayout->setColumnStretch(0,1);
       LeftLayout->setColumnStretch(1,3);
       /*********右侧*********/
       HeadLabel =new QLabel(tr("头像: "));                    //右上角部分
      // HeadIconLabel =new QLabel;
      // QPixmap icon("312.png");
      // 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(tr("个人说明:"));         //右下角部分
       IntroductionTextEdit =new QTextEdit;
 
       RightLayout =new QVBoxLayout();
       RightLayout->setMargin(10);
       RightLayout->addLayout(TopRightLayout);
       RightLayout->addWidget(IntroductionLabel);
       RightLayout->addWidget(IntroductionTextEdit);
       /*--------------------- 底部 --------------------*/
       OkBtn =new QPushButton(tr("确定"));
       CancelBtn =new QPushButton(tr("取消"));
 
       ButtomLayout =new QHBoxLayout();
       ButtomLayout->addStretch();
       ButtomLayout->addWidget(OkBtn);
       ButtomLayout->addWidget(CancelBtn);
       /*---------------------------------------------*/
       QGridLayout *mainLayout =new QGridLayout(this);
       mainLayout->setMargin(25);
       mainLayout->setSpacing(10);
       mainLayout->addLayout(LeftLayout,0,0);
       mainLayout->addLayout(RightLayout,0,1);
       mainLayout->addLayout(ButtomLayout,1,0,1,2);
       //mainLayout->setSizeConstraint(QLayout::SetFixedSize);
}
 
Dialog::~Dialog()
{
 

}

======================================================================================================

#include "dialog.h"
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();
 
    return a.exec();
}
 

===================================================================================================

#ifndef DIALOG_H
#define DIALOG_H
 
#include <QDialog>
#include <QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QComboBox>
#include <QTextEdit>
#include <QGridLayout>
#include<QPushButton>
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 *ButtomLayout;
};
 
#endif // DIALOG_H
 


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Car12

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值