// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause #include #include "splitter.h" SplitterHandle::SplitterHandle(Qt::Orientation orientation, QSplitter *parent) : QSplitterHandle(orientation, parent) { gradient.setColorAt(0.0, Qt::darkGreen); gradient.setColorAt(0.25, Qt::white); gradient.setColorAt(1.0, Qt::darkGreen); } //! [0] void SplitterHandle::paintEvent(QPaintEvent *event) { QPainter painter(this); if (orientation() == Qt::Horizontal) { gradient.setStart(rect().left(), rect().height()/2); gradient.setFinalStop(rect().right(), rect().height()/2); } else { gradient.setStart(rect().width()/2, rect().top()); gradient.setFinalStop(rect().width()/2, rect().bottom()); } painter.fillRect(event->rect(), QBrush(gradient)); } //! [0] Splitter::Splitter(Qt::Orientation orientation, QWidget *parent) : QSplitter(orientation, parent) { } //! [1] QSplitterHandle *Splitter::createHandle() { return new SplitterHandle(orientation(), this); } //! [1]