資源簡(jiǎn)介
自己制作的雙滑塊滑動(dòng)器,這只是一個(gè)模本,較完整版刪減了很多功能
中間的空白處可以自己加載調(diào)色板進(jìn)行填充
已經(jīng)寫(xiě)了一組返回值,一組信號(hào)
點(diǎn)擊滑塊中間位置,可以同時(shí)拖動(dòng)兩個(gè)滑塊

代碼片段和文件信息
#include?“colorslider.h“
ColorSlider::ColorSlider(QWidget?*parent)
:?QWidget(parent)
{
a_x_=0.a_y_=0.1;
b_x_=0.b_y_=0.5;
c_y_=0p_c_a_=0p_c_b_=0;
/*b_x_=135b_y_=5;*/
slider_a_seleced_=false;
slider_b_seleced_=false;
slider_a_b_seleced_=false;
}
ColorSlider::~ColorSlider()
{
}
void?ColorSlider::paintEvent(QPaintEvent?*event)
{
QPainter?painter(this);
/*painter.setViewport(0height()/2width()30);
painter.setWindow(-50-50100100);*/
draw(&painter);
}
void?ColorSlider::draw(QPainter*?painter?)
{
painter->setBrush(Qt::NoBrush);
painter->setPen(QPen(Qt::black1Qt::SolidLineQt::RoundCap));
QRectF?rectangle1(0.2*width()?0?width()*0.6?height()-1);
painter->drawRect(rectangle1);
if?(slider_a_seleced_)
{
painter->setPen(QPen(Qt::blue1Qt::SolidLineQt::RoundCap));
}
painter->drawRoundRect?(?a_x_*width()+1?a_y_*height()?width()-2?5?25??25?);
painter->setPen(QPen(Qt::black1Qt::SolidLineQt::RoundCap));
if?(slider_b_seleced_)
{
painter->setPen(QPen(Qt::blue1Qt::SolidLineQt::RoundCap));
}
painter->drawRoundRect?(?b_x_*width()+1?b_y_*height()?width()-2?5?25??25?);
}
void?ColorSlider::mousePressEvent(?QMouseEvent?*event?)
{
QPointF?point?=?mapFromGlobal(QCursor::pos());
int?a_hight=a_y_*height();
int?b_hight=b_y_*height();
if?(point.y()>=a_hight&&?point.y()<=(a_hight+5))
{
slider_a_seleced_?=?true;
}else?if?(point.y()>=b_hight&&point.y()<=b_hight+5)
{
slider_b_seleced_?=?true;
}else?if?(point.y()>(a_hight+5)&&point.y() {
slider_a_b_seleced_?=?true;
c_y_?=?point.y();
p_c_a_?=?c_y_?-?a_hight;
p_c_b_?=?c_y_?-?b_hight;
}
update();
}
void?ColorSlider::mouseMoveEvent(?QMouseEvent?*event?)
{
QPointF?point?=?event->pos();
if?(slider_a_seleced_)
{
if?(point.y()>=0?&&?point.y()<=b_y_*height()-5)
{
a_y_?=?point.y()/height();
emit?SignalActionAPos(a_y_);
}
}else?if?(slider_b_seleced_)
{
if?(point.y()=a_y_*height()+5)
{
b_y_?=?point.y()/height();
emit?SignalActionBPos(b_y_);
}
}else?if?(slider_a_b_seleced_?&&?point.y()-p_c_a_>=0?&&?point.y()-p_c_b_? {
a_y_?=?(point.y()-p_c_a_)/height();
b_y_?=?(point.y()-p_c_b_)/height();
emit?SignalActionAPos(a_y_);
emit?SignalActionBPos(b_y_);
}
update();
}
void?ColorSlider::mouseReleaseEvent(?QMouseEvent?*event?)
{
slider_a_seleced_=false;
slider_b_seleced_=false;
update();
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????8892??2013-09-11?10:34??slider\Debug\BuildLog.htm
?????文件??????76736??2013-09-11?10:34??slider\Debug\colorslider.obj
?????文件??????67096??2013-09-11?10:34??slider\Debug\main.obj
?????文件??????56459??2013-09-11?10:34??slider\Debug\moc_colorslider.obj
?????文件??????69830??2013-09-11?10:34??slider\Debug\moc_slider.obj
?????文件?????????65??2013-09-11?10:34??slider\Debug\mt.dep
?????文件??????13332??2013-09-11?10:22??slider\Debug\qrc_slider.obj
?????文件??????67584??2013-09-11?10:34??slider\Debug\slider.exe
?????文件????????621??2013-09-11?10:34??slider\Debug\slider.exe.intermediate.manifest
?????文件?????860652??2013-09-11?10:34??slider\Debug\slider.ilk
?????文件?????111079??2013-09-11?10:34??slider\Debug\slider.obj
?????文件????1379328??2013-09-11?10:34??slider\Debug\slider.pdb
?????文件?????683008??2013-09-11?10:34??slider\Debug\vc90.idb
?????文件?????897024??2013-09-11?10:34??slider\Debug\vc90.pdb
?????文件???????2533??2013-09-11?10:33??slider\slider\colorslider.cpp
?????文件????????879??2013-09-11?10:33??slider\slider\colorslider.h
?????文件???????3512??2013-09-11?10:33??slider\slider\GeneratedFiles\Debug\moc_colorslider.cpp
?????文件???????2379??2013-09-11?10:30??slider\slider\GeneratedFiles\Debug\moc_slider.cpp
?????文件????????711??2013-09-11?10:22??slider\slider\GeneratedFiles\qrc_slider.cpp
?????文件???????2831??2013-09-11?10:27??slider\slider\GeneratedFiles\ui_slider.h
?????文件????????167??2013-09-11?10:24??slider\slider\main.cpp
?????文件????????280??2013-09-11?10:27??slider\slider\slider.cpp
?????文件????????337??2013-09-11?10:30??slider\slider\slider.h
?????文件?????????66??2013-09-11?10:21??slider\slider\slider.qrc
?????文件???????1214??2013-09-11?10:27??slider\slider\slider.ui
?????文件??????12351??2013-09-11?10:22??slider\slider\slider.vcproj
?????文件???????1470??2013-09-11?10:34??slider\slider\slider.vcproj.h20405-PC.h20405.user
?????文件??????52224??2013-09-11?10:34??slider\slider.ncb
?????文件????????884??2013-09-11?10:21??slider\slider.sln
????..A..H.?????11776??2013-09-11?10:34??slider\slider.suo
............此處省略10個(gè)文件信息
評(píng)論
共有 條評(píng)論