• 5214阅读
  • 7回复

creator运行精通QT4里面的源代码 [复制链接]

上一主题 下一主题
离线jelly
 
只看楼主 倒序阅读 楼主  发表于: 2010-04-19
请教大家,在creator运行精通QT4里面的源代码(如下),为什么就不显示图片背景呢?其他一切正常。注:原封不动的源代码。请高手指点不胜感激啊。

#include <QApplication>
#include <QtGui>
#include <QTextCodec>

class MyWidget : public QWidget {
    public:
        MyWidget(QWidget *parent = 0);
    protected:
        void mouseMoveEvent(QMouseEvent *event);
        void paintEvent(QPaintEvent *event);
    private:
        int x, y;
        QPixmap pixmap;
        QPixmap background;
};

MyWidget::MyWidget(QWidget *parent) : QWidget(parent) {
    resize(800, 600);
    pixmap = QPixmap(100, 50);
    background = QPixmap("background.jpg");
    x = -1;
    y = -1;
}

void MyWidget::mouseMoveEvent(QMouseEvent *event) {
    x = event->x();
    y = event->y();
    pixmap.fill(QColor(255, 255, 255, 127));
    QPainter painter(&pixmap);
    painter.setPen(QColor(255, 0, 0));
    painter.drawText(20, 40, QString("%1").arg(x) + "," + QString("%1").arg(y));
    update();
}

void MyWidget::paintEvent(QPaintEvent *event) {
    QPainter painter(this);
    painter.drawPixmap(0, 0, background);
    painter.drawPixmap(x, y, pixmap);
}

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    Q_INIT_RESOURCE(alpha);

    MyWidget widget;
    widget.setMouseTracking(true);
    widget.show();
    return app.exec();
}
离线jelly
只看该作者 1楼 发表于: 2010-04-19
感谢高手回答
离线prout
只看该作者 2楼 发表于: 2010-04-19
QT需要加载jpeg的格式插件才能支持jpg格式,我想你换个png的图就能显示出来了
离线yangfanxing
只看该作者 3楼 发表于: 2010-04-19
Eclipse下无此要求~~~
PHPWind好恶心。。。不想看这种界面。。。
离线jelly
只看该作者 4楼 发表于: 2010-04-20
引用第2楼prout于2010-04-19 21:01发表的  :
QT需要加载jpeg的格式插件才能支持jpg格式,我想你换个png的图就能显示出来了

谢谢指点  我试试啊
离线jelly
只看该作者 5楼 发表于: 2010-04-20
引用第2楼prout于2010-04-19 21:01发表的  :
QT需要才能支持jpg格式,我想你换个png的图就能显示出来了

请问在creator中要怎样加载jpeg的格式插件呢
离线jelly
只看该作者 6楼 发表于: 2010-04-20
问题已解决,creator中加载jpeg的格式插件步骤:将bin中的imageformats目录要包括qjpeg4.dll,copy到工程文件中.exe所在的目录中,同时.jpg也放在该目录
离线yangfanxing
只看该作者 7楼 发表于: 2010-04-20
引用第6楼jelly于2010-04-20 16:41发表的  :
同时.jpg也放在该目录

这个未必,代码设置路径;跟此句相关:
  1. background = QPixmap("background.jpg");


whatelse, good Job!
PHPWind好恶心。。。不想看这种界面。。。
快速回复
限100 字节
 
上一个 下一个