make TextField inherit QLineEdit

This commit is contained in:
laserpants 2016-04-14 17:11:41 +03:00
parent 5d8cc368fc
commit bde2125000
3 changed files with 25 additions and 9 deletions

View File

@ -1,10 +1,12 @@
#include <QWidget> #include <QWidget>
#include <QPainter> #include <QPainter>
#include "textfield.h" #include "textfield.h"
#include "style.h"
TextField::TextField(QWidget *parent) TextField::TextField(QWidget *parent)
: QWidget(parent) : QLineEdit(parent)
{ {
setStyle(&Style::instance());
} }
TextField::~TextField() TextField::~TextField()
@ -13,19 +15,18 @@ TextField::~TextField()
void TextField::mousePressEvent(QMouseEvent *event) void TextField::mousePressEvent(QMouseEvent *event)
{ {
QWidget::mousePressEvent(event); QLineEdit::mousePressEvent(event);
} }
void TextField::mouseReleaseEvent(QMouseEvent *event) void TextField::mouseReleaseEvent(QMouseEvent *event)
{ {
QWidget::mouseReleaseEvent(event); QLineEdit::mouseReleaseEvent(event);
} }
void TextField::paintEvent(QPaintEvent *event) void TextField::paintEvent(QPaintEvent *event)
{ {
QLineEdit::paintEvent(event);
QPainter painter(this); QPainter painter(this);
painter.drawRect(0, 0, 50, 50);
painter.drawRect(40, 0, 50, 50);
QWidget::paintEvent(event);
} }

View File

@ -1,9 +1,9 @@
#ifndef TEXTFIELD_H #ifndef TEXTFIELD_H
#define TEXTFIELD_H #define TEXTFIELD_H
#include <QWidget> #include <QLineEdit>
class TextField : public QWidget class TextField : public QLineEdit
{ {
Q_OBJECT Q_OBJECT

View File

@ -1,5 +1,6 @@
#include <QLayout> #include <QLayout>
#include <QEvent> #include <QEvent>
#include <QLineEdit>
#include "textfieldexamples.h" #include "textfieldexamples.h"
#include "components/textfield.h" #include "components/textfield.h"
#include "exampleview.h" #include "exampleview.h"
@ -22,6 +23,20 @@ TextFieldExamples::TextFieldExamples(QWidget *parent)
); );
frame->setWidget(view); frame->setWidget(view);
layout->addWidget(frame);
}
{
QLineEdit *edit = new QLineEdit;
ExampleView *view = new ExampleView;
view->setWidget(edit);
Frame *frame = new Frame;
frame->setCodeSnippet(
"hello"
);
frame->setWidget(view);
layout->addWidget(frame); layout->addWidget(frame);
} }
} }