復(fù)制項(xiàng)目[ t_04 ]柬批,命名為 [ t_05 ]
1啸澡、先把各個(gè)按鈕的頭文件、聲明和分配空間全部刪除掉[ 只保存基本的框架就可以了氮帐,從此處開始嗅虏,下面的全部不再說明基本框架從哪里來的,直接以“建立基本框架”為引子了上沐! ]皮服!再把輸入框的頭文件引入到mywidget.h中!
#include <dsearchedit.h>
#include <dpasswordedit.h>
#include <dlineedit.h>
#include <dipv4lineedit.h>
聲明各個(gè)輸入框:
private:
DSearchEdit * searchEdit;
DPasswordEdit * passwordEdit;
DLineEdit * lineEdit;
DIpv4LineEdit * ipv4lineedit;
QVBoxLayout * vboxlayout;
給各個(gè)輸入框分配空間:
searchEdit = new DSearchEdit(this);
passwordEdit = new DPasswordEdit (this);
lineEdit = new DLineEdit (this);
ipv4lineedit = new DIpv4LineEdit(this);
最后不要忘了布局(見上一篇)参咙,不然:::全部都擠到一起了
效果圖:
效果圖
小貼士:
這兒使用了 vboxlayout->addStretch(); 龄广,這可以叫彈簧,可以讓控件不被拉伸蕴侧,保持正確的布局大小择同,如果不用它效果是這樣的:沒有用彈簧時(shí)
mywidget.h全部代碼:
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <dsearchedit.h>
#include <dpasswordedit.h>
#include <dlineedit.h>
#include <dipv4lineedit.h>
#include <QVBoxLayout>
DWIDGET_USE_NAMESPACE
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
private:
DSearchEdit * searchEdit;
DPasswordEdit * passwordEdit;
DLineEdit * lineEdit;
DIpv4LineEdit * ipv4lineedit;
QVBoxLayout * vboxlayout;
signals:
public slots:
};
#endif // MYWIDGET_H
mywidget.cpp全部代碼:
#include "mywidget.h"
MyWidget::MyWidget(QWidget *parent) : QWidget(parent)
{
searchEdit = new DSearchEdit(this);
passwordEdit = new DPasswordEdit (this);
lineEdit = new DLineEdit (this);
ipv4lineedit = new DIpv4LineEdit(this);
vboxlayout = new QVBoxLayout(this);
vboxlayout->addWidget(searchEdit);
vboxlayout->addWidget(passwordEdit);
vboxlayout->addWidget(lineEdit);
vboxlayout->addWidget(ipv4lineedit);
vboxlayout->addStretch(); //彈簧,可以讓控件不被拉伸净宵,保持正確的布局大小
}