Method One: Can inherit rewrite a qslider
Method Two: 1.instaneventfiliter (this); Slider Install an event filter
2. Intercept it in EventFilter (Qobject *,qevent*), it's easy.
Example:
Slider->installeventfilter (this);
BOOL Trayiconmenu::eventfilter (Qobject *obj, qevent *event)
{
if (Obj==slider)
{
if (Event->type () ==qevent::mousebuttonpress) //judgment type
{
Qmouseevent *mouseevent = static_cast<qmouseevent *> (event);
if (Mouseevent->button () = = Qt::leftbutton)//Judge left Key
{
int dur = Slider->maximum ()-slider->minimum ();
int pos = slider->minimum () + dur * ((double) mouseevent->x ()/Slider->width ());
if (pos! = slider->sliderposition ())
{
Slider->setvalue (POS);
}
}
}
}
Return Qobject::eventfilter (obj,event);
}
Okay! is where you can implement the slider point
http://blog.csdn.net/what951006/article/details/51507801
Qslider resolve the issue where the click cannot be reached