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

时间: 2024-12-23 20:03:13

QSlider解决点击不能到该位置问题的相关文章

解决点击多次jquery动画animate反应迟钝的问题

最近做了一个网页,用到了animate的动画效果,点击连接就滚动屏幕到相应的位置,可是前几次点击没有问题,随着点击次数的增多,动画响应越来越慢,到后来点击一次要等好几秒才开始滚动,最后我找到了原因,动画没有播放结束,队列越来越长导致的. 解决办法: $('body').stop().animate({scrollTop:aaa},300);在animate前加一个stop即可停止当前动画清空队列马上执行新的动画. 附上stop();的使用方法: stop([clearQueue], [gotoE

JQuery实现点击div以外的位置隐藏该div窗口

简单示例代码: <body> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $(document).bind("click&

jq实现 元素显示后 点击页面的任何位置除元素本身外 隐藏元素

$(".share-weixin").on("click",function(e){ var $wx=$(".weixin-share"),_winW=$(window).width(),_winH=$(window).height(),_winScrollT=$(window).scrollTop(),_winScrollL=$(window).scrollLeft(); $wx.css({"display":"b

UISearchBar 点击取消回到原来位置时会跳动的解决方法

今天改动项目里面測试给提的bug.有一个bug就是当点击UISearchBar的取消buttonUISearchBar回到原来位置时会发生偏差50像素左右的跳动,细致看看前面几个程序写的那个页面,也没有发现UISearchBar的代理方法 -(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{ } 去网上找了半天,才发现有一个帖子里说在viewDidLoad中加入这么两句代码就能够 [self setAutomaticallyA

GUI 编程 —— QT 的 QSlider 鼠标点击定位问题

这几天打算封装 libvlc 实现一个简单的播放器操作类,用 QT 写 UI 测试程序的时候,发现播放进度的显示控件 QSlider 在处理鼠标点击时,并不能直接定位到鼠标按下的位置.为解决这一问题,我在网上看了几篇博文提供的解决办法,但实现的效果并不理想,主要的问题是:鼠标点击定位时,出现位置偏差.鉴于这,我提供了如下的解决办法. 1. 为 QSlider 控件设置事件过滤 在 QSlider 控件父窗口初始化的时候设置(比如我的代码中就在 Widget 构造函数中设置): Widget::W

解决点击锚点置顶内容被导航遮住

工作中我第一次遇到这种情况,因为是接手公司的老项目,在原来项目的基础上修改,而且这项目里的相应文件都非常乱,结构.样式.行为都不分离的,处理起来有点棘手,看着代码脑袋都疼:由于点击锚点,内容会默认置顶,被导航栏遮住.一开始我都在网上找解决的方案,但是后来,我还是选择了一个比较笨的办法,就是将锚点所在的元素独立出来如下: <a name="anchor" style="display:block;height:44px;margin-top:-44px;">

iOS:实现MKAnnotation协议,在地图上设置大头针,点击显示具体的位置信息

如何添加大头针(地标): 通过MapView的addAnnotation方法可以添加一个大头针到地图上 通过MapView的addAnnotations方法可以添加多个大头针到地图上 –(void)addAnnotation:(id <MKAnnotation>)annotation; 说明:需要传入一个遵守了MKAnnotation协议的对象 基本步骤为: <1>新建一个遵守MKAnnotation协议的类: @interface MyAnnotation : NSObject 

Android Alert Dialog解决点击按钮对话框不关闭的问题

Android alertDialog中左中右三个按钮,点击按钮的时候,即使没调用dismiss方法,系统也会默认的去调用,而把这个对话框被关闭掉,但是我们的一些实际需求,就需要保留这个对话框不动,例如输入校验码,密码之类的校验问题,如果用户输入错误,而关闭后弹出对话框,就很别扭了.这里有个方案可以解决这个问题,使得即使按钮事件发生了,也不会关闭对话框.核心思想是欺骗一下系统,在点击事件里,修改该对话框的显示状态为关闭,则系统就不会去关闭该对话框了.具体实现代码如下: /** @author s

js--手机头像点击显示按钮的位置自适应

在手机页面的中,头像显示的div,第一行的最后一个为点击显示更多的按钮(more),因为手机宽度的大小不一致,所以每行显示的头像个数也不一致,more按钮的位置总是固定在最后一排,所以需要通过计算屏幕宽度的大小,然后根据每个li的大小算出一行中最多能放几个,然后在将more通过js插入,如下图 iPhone5 显示如下: iPhone6 显示如下: 一下贴代码: HTML <div class="pic"> <ul> <li><img src=