#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()
{
}