美文网首页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