• 6910阅读
  • 4回复

图片添加双击事件 [复制链接]

上一主题 下一主题
离线zhangweihua1
 
只看楼主 正序阅读 楼主  发表于: 2008-08-21
— 本帖被 XChinux 执行加亮操作(2008-08-21) —
我在界面上不同的位置显示了几张PNG格式的图片,我现在想实现双击图片弹出相应的对话框,各位大侠,怎么给这几张图片添加双击事件,怎么识别是哪张图片呢?请大家帮帮忙,给点例子程序或是提点建议也好
离线zhangweihua1
只看该作者 4楼 发表于: 2008-08-22
呵呵,谢谢各位大侠,这个问题我已经解决了,我是用的QGraphics View框架,参照的demo中的DrillDown这个例子就可以实现了。
离线icevi

只看该作者 3楼 发表于: 2008-08-22
在paintEvent中的图片不是控件对象,不会产生双击事件。
你可以用QLabel来显示图片啊,为什么要这样处理?

用QLabel来显示图片的话,处理这个QLabel的双击事件 就可以了。用其它属性来知道点的是哪张图片。

如果你一定要用你上面的方法来做的话,用鼠标双击时所在的位置应该可以判断是点的哪个图片。
====================
www.bilive.com
BiForm BiReader BiChat
最爱QT和PYTHON
====================
离线zhangweihua1
只看该作者 2楼 发表于: 2008-08-21
谢谢XChinux的解答,我自己重写了mouseDoubleClickeEvent()函数实现了鼠标的双击事件,但是这个双击是随便点界面的那个地方都会产生鼠标双击事件,怎么才能实现只有点击了图片才产生鼠标双击事件?怎么识别是哪张图片呢?
我的图片实在paintEvent中实现的,部分代码如下:


void time7::paintEvent(QPaintEvent *event)
{
            p =new QPainter;
            p->begin(this);
                  QPixmap image1(":images/33.png");
                      QPixmap image2(":images/44.png");
     QPixmap image3(":images/55.png");
     QPixmap image4(":images/66.png");
     QPixmap image5(":images/77.png");
                     
                      p->drawPixmap(100,150,image1);
     p->drawPixmap(200,150,image2);
     p->drawPixmap(300,150,image3);
     p->drawPixmap(400,150,image4);
     p->drawPixmap(500,150,image5);
               
     p->end();
}
离线XChinux

只看该作者 1楼 发表于: 2008-08-21
如果显示图片的部件没有双击 signal的话,那就自己从这个类派生一个类,自己重新实现mouseDoubleClickeEvent()来做自己的事情。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个