From bde2125000e60d79237d41e2e08c8925e5749c8f Mon Sep 17 00:00:00 2001 From: laserpants Date: Thu, 14 Apr 2016 17:11:41 +0300 Subject: [PATCH] make TextField inherit QLineEdit --- components/textfield.cpp | 15 ++++++++------- components/textfield.h | 4 ++-- examples/textfieldexamples.cpp | 15 +++++++++++++++ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/components/textfield.cpp b/components/textfield.cpp index 3e98b66..49efe06 100644 --- a/components/textfield.cpp +++ b/components/textfield.cpp @@ -1,10 +1,12 @@ #include #include #include "textfield.h" +#include "style.h" TextField::TextField(QWidget *parent) - : QWidget(parent) + : QLineEdit(parent) { + setStyle(&Style::instance()); } TextField::~TextField() @@ -13,19 +15,18 @@ TextField::~TextField() void TextField::mousePressEvent(QMouseEvent *event) { - QWidget::mousePressEvent(event); + QLineEdit::mousePressEvent(event); } void TextField::mouseReleaseEvent(QMouseEvent *event) { - QWidget::mouseReleaseEvent(event); + QLineEdit::mouseReleaseEvent(event); } void TextField::paintEvent(QPaintEvent *event) { + QLineEdit::paintEvent(event); + QPainter painter(this); - - painter.drawRect(40, 0, 50, 50); - - QWidget::paintEvent(event); + painter.drawRect(0, 0, 50, 50); } diff --git a/components/textfield.h b/components/textfield.h index 93ead49..3831f87 100644 --- a/components/textfield.h +++ b/components/textfield.h @@ -1,9 +1,9 @@ #ifndef TEXTFIELD_H #define TEXTFIELD_H -#include +#include -class TextField : public QWidget +class TextField : public QLineEdit { Q_OBJECT diff --git a/examples/textfieldexamples.cpp b/examples/textfieldexamples.cpp index 2f0a07c..35c0b08 100644 --- a/examples/textfieldexamples.cpp +++ b/examples/textfieldexamples.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "textfieldexamples.h" #include "components/textfield.h" #include "exampleview.h" @@ -22,6 +23,20 @@ TextFieldExamples::TextFieldExamples(QWidget *parent) ); 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); } }