From b6c862e2d5483e0b258956439a4569afd0be2781 Mon Sep 17 00:00:00 2001 From: laserpants Date: Sat, 26 Mar 2016 15:17:46 +0300 Subject: [PATCH] make mental note that QAbstractButton subclass needs to implement sizeHint --- components/toggle.cpp | 17 ++++++++++++++++- components/toggle.h | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/components/toggle.cpp b/components/toggle.cpp index e102682..be81d73 100644 --- a/components/toggle.cpp +++ b/components/toggle.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include "toggle.h" #include "../lib/rippleoverlay.h" @@ -6,6 +8,7 @@ Toggle::Toggle(QWidget *parent) : QAbstractButton(parent), _overlay(new RippleOverlay(this)) { + qDebug() << "1"; } Toggle::~Toggle() @@ -15,5 +18,17 @@ Toggle::~Toggle() void Toggle::paintEvent(QPaintEvent *event) { Q_UNUSED(event) -} + qDebug() << "2"; + + QPainter painter(this); + + QPen pen; + pen.setColor(Qt::black); + pen.setWidth(2); + painter.setPen(pen); + + painter.drawRect(rect()); + + painter.drawRect(QRect(10, 10, 30, 30)); +} diff --git a/components/toggle.h b/components/toggle.h index f15ae59..705ea8f 100644 --- a/components/toggle.h +++ b/components/toggle.h @@ -13,6 +13,8 @@ public: explicit Toggle(QWidget *parent = 0); ~Toggle(); + QSize sizeHint() const { return QSize(32, 32); } + protected: void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;