zoukankan      html  css  js  c++  java
  • QSlider解决点击不能到该位置问题

    方法一:可以继承重写一个QSlider

    方法二:1.instaneventfiliter(this);slider安装一个事件过滤器

                  2.在eventfilter(QObject *,QEvent*)中拦截它,很简单吧

    例子:

    	slider=new QSlider(this); 
    	slider->installEventFilter(this);
    
    
    bool trayIconMenu::eventFilter(QObject *obj, QEvent *event)
    {
    
        if(obj==slider)
    
        {
    
            if (event->type()==QEvent::MouseButtonPress)           //判断类型
            {
    
                QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
    
                if (mouseEvent->button() == Qt::LeftButton)	//判断左键
                {
    
                   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!即可以实现slider点哪里就到哪里

    http://blog.csdn.net/what951006/article/details/51507801

  • 相关阅读:
    5月16日 AJAX
    5月13日 Jquery基础
    5月13日 PDO封装
    会话控制练习
    文件上传
    会话控制
    注册审核
    练习
    三级联动
    AJAX之XML
  • 原文地址:https://www.cnblogs.com/findumars/p/5578860.html
Copyright © 2011-2022 走看看