• 5404阅读
  • 1回复

qt3中支持 gif 图 + 鼠标点击 的QLabel(问题已经解决) [复制链接]

上一主题 下一主题
离线liur
 
只看楼主 倒序阅读 楼主  发表于: 2007-09-21
— 本帖被 XChinux 执行加亮操作(2008-07-18) —
我使用的是 qt 3.3.5 (要支持 gif 图需要在安装 qt 时,加入 gif 支持. 比如 ./configure -qt-gif)

程序需要使用支持 gif 图的 button. 目前我看了下,播放 gif 只有使用 QMovie + QLabel这种方法. QButton(及其扩展)好像不能支持 gif 图.

不知道有没有办法让 QButton 支持 gif 显示?
或者
如何让 QLabel 支持 clicked() 信号?

也许您有更加好的方法,还请不吝赐教~先谢了.
[ 此贴被liur在2007-09-23 06:57重新编辑 ]
离线liur
只看该作者 1楼 发表于: 2007-09-21
解决方法已经找到.我让 QLabel 支持鼠标点击事件了.类的实现代码如下:

//-------------------------------------------------------------photodisplay.h
#include <qlabel.h>
class PhotoDisplay : public QLabel // inherit QLabel
{
    Q_OBJECT
public:
    PhotoDisplay(QWidget *parent);

signals:
    void clicked();

protected:
    void mousePressEvent(QMouseEvent *);
};

//-------------------------------------------------------------photodisplay.cpp
#include "photodisplay.h"
#include <stdio.h>

PhotoDisplay::PhotoDisplay(QWidget *parent)
    : QLabel(parent)
{

}

void PhotoDisplay::mousePressEvent(QMouseEvent *e)
{
    if (e->x() != e->y())
        puts("x != y");
    emit clicked();
}

抱歉没有注释.如果基础知识都明白的话,不需要注释的.
排版也很有问题...我是直接在回复里写的代码.使用的时候重新排版一下.
快速回复
限100 字节
 
上一个 下一个