2021 시작

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    edit[0]=QSharedPointer<QLineEdit>
            (new QLineEdit("s",this));

    lb = QSharedPointer<QLabel>
            (new QLabel("QlineEdit Text : ", this));

    //connect가 두개인데 위에것을 해도 되고 아래의 것을 해도 되는거같다 아마도,
    //시그널쪽에서 오버라이딩을 이용한거같다.(이름을 바꾸니 안되더라 ;;
    //위의것은 오버라이딩을 이용한것이고, 아래의 것은 slots 함수의 이름을 마음대로
    //정하고 싶을 때 쓰면 되는거 같다.
    connect(edit[0].get(),SIGNAL(textChanged(QString)),
            this,SLOT(textChanged(QString)));
    /*connect(edit[0].get(),&QLineEdit::textChanged,this,&Widget::textChangeda);*/

    edit[0]->setGeometry(10,30,200,40);
    lb->setGeometry(10,80,250,30);


    int ypos = 120;
    for(int i=1;i<5;i++)
    {
        edit[i] = QSharedPointer<QLineEdit>
                (new QLineEdit("I love qt.",this));         //I love qt가 기본 값

        edit[i]->setGeometry(10,ypos,200,40);
        ypos +=50;
    }
    edit[1]->setEchoMode(QLineEdit::Normal);                //디폴트와 동일한 스타일
    edit[2]->setEchoMode(QLineEdit::NoEcho);                //텍스트가 보이지 않으며 커서의 위치도 변경되지 않는 스타일
    edit[3]->setEchoMode(QLineEdit::Password);              //텍스트가 "*"문자로 표시
    edit[4]->setEchoMode(QLineEdit::PasswordEchoOnEdit);    //텍스트가 변경되며 디폴트 스타일과
                                            //동일하지만 포커스가 이동되면 "*"로 표시
}

void Widget::textChanged(QString str)
{
    qDebug()<<"Changed!!";
    lb->setText(QString("QlineEdit text : %1").arg(str));

}

Widget::~Widget()
{
}

QLineEdit.zip
0.00MB

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading