paint track for toggle component
This commit is contained in:
parent
3871deda30
commit
72ca134fc1
|
@ -84,8 +84,8 @@ void Slider::paintEvent(QPaintEvent *event)
|
||||||
void Slider::mousePressEvent(QMouseEvent *event)
|
void Slider::mousePressEvent(QMouseEvent *event)
|
||||||
{
|
{
|
||||||
if (Qt::Horizontal == _orientation
|
if (Qt::Horizontal == _orientation
|
||||||
? touchesRail(event->y(), height()/2)
|
? isOnTrack(event->y(), height()/2)
|
||||||
: touchesRail(event->x(), width()/2))
|
: isOnTrack(event->x(), width()/2))
|
||||||
{
|
{
|
||||||
const QSize s = _handle->sizeHint();
|
const QSize s = _handle->sizeHint();
|
||||||
_handle->setOffset((event->pos() - QPoint(s.width()/2, s.height()/2)) - event->globalPos());
|
_handle->setOffset((event->pos() - QPoint(s.width()/2, s.height()/2)) - event->globalPos());
|
||||||
|
|
|
@ -57,7 +57,7 @@ protected:
|
||||||
void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
|
void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
inline bool touchesRail(int p, int x) const { return (p >= x-2 && p < x+2); }
|
inline bool isOnTrack(int p, int x) const { return (p >= x-2 && p < x+2); }
|
||||||
|
|
||||||
bool _drag;
|
bool _drag;
|
||||||
Handle *const _handle;
|
Handle *const _handle;
|
||||||
|
|
|
@ -19,11 +19,17 @@ void Toggle::paintEvent(QPaintEvent *event)
|
||||||
Q_UNUSED(event)
|
Q_UNUSED(event)
|
||||||
|
|
||||||
QPainter painter(this);
|
QPainter painter(this);
|
||||||
|
painter.setRenderHint(QPainter::Antialiasing);
|
||||||
|
|
||||||
QPen pen;
|
const int h = height()/2;
|
||||||
pen.setColor(Qt::black);
|
|
||||||
pen.setWidth(2);
|
QBrush brush;
|
||||||
painter.setPen(pen);
|
brush.setColor(QColor(180, 180, 180));
|
||||||
|
brush.setStyle(Qt::SolidPattern);
|
||||||
|
painter.setBrush(brush);
|
||||||
|
|
||||||
|
painter.setPen(Qt::NoPen);
|
||||||
|
|
||||||
|
painter.drawRoundedRect(QRect(0, h-h/2, width(), h+h/2), h, h);
|
||||||
|
|
||||||
painter.drawRect(rect());
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue