美文网首页deepin
DTK教程 五 :一些基本的控件(三) 输入框

DTK教程 五 :一些基本的控件(三) 输入框

作者: 秋风夜雨_6119 | 来源:发表于2019-07-16 15:52 被阅读20次

复制项目[ t_04 ],命名为 [ t_05 ]

1、先把各个按钮的头文件、声明和分配空间全部删除掉[ 只保存基本的框架就可以了,从此处开始,下面的全部不再说明基本框架从哪里来的,直接以“建立基本框架”为引子了! ]!再把输入框的头文件引入到mywidget.h中!

#include <dsearchedit.h>
#include <dpasswordedit.h>
#include <dlineedit.h>
#include <dipv4lineedit.h>

声明各个输入框:

private:
    DSearchEdit * searchEdit;
    DPasswordEdit * passwordEdit;
    DLineEdit * lineEdit;
    DIpv4LineEdit * ipv4lineedit;
    QVBoxLayout * vboxlayout;

给各个输入框分配空间:

    searchEdit = new DSearchEdit(this);
    passwordEdit = new DPasswordEdit (this);
    lineEdit = new DLineEdit (this);
    ipv4lineedit = new DIpv4LineEdit(this);


最后不要忘了布局(见上一篇),不然:::全部都挤到一起了


效果图:


效果图

小贴士:

这儿使用了 vboxlayout->addStretch(); ,这可以叫弹簧,可以让控件不被拉伸,保持正确的布局大小,如果不用它效果是这样的: 没有用弹簧时

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();  //弹簧,可以让控件不被拉伸,保持正确的布局大小
}

下一部分:https://www.jianshu.com/p/5f2a1d3273d5

相关文章

网友评论

    本文标题:DTK教程 五 :一些基本的控件(三) 输入框

    本文链接:https://www.haomeiwen.com/subject/wzjtlctx.html