重新实现的颜色选择器如下图所示:
颜色的渐变都是通过拉渐变或者是直接在paintevent中画出来的,根据hsv和rgb两种颜色类型之间的转化来实现。
重载QSlider来实现颜色条花了不少时间,经过别人指点后才恍然大悟,主要还是对这些类的用法和类的实现原理不熟悉造成的,下来得好好的熟悉下。
重载QSlider实现颜色滚动条的代码如下:
QPainter painter(this);
if(this->orientation() == Qt::Horizontal)
{
const int offset = 5;
QRect rect = this->rect();
rect.setHeight(rect.height() - 5);
QRect sliderRect =