2013-08-28 5 views
1

저는 win7에서 매우 간단한 응용 프로그램을 개발 중이며 win8에서 실행 중입니다. win7에서 실행할 때 내 QGraphicsObject 하위 클래스에서 그려지는 pixmap을 보여줍니다. 그러나 내가 exe와 dll을 내 타블렛에 복사하면 픽스맵이 표시되지 않지만 다른 모든 것은 동일합니다.QGraphicsObject가 QPixmap을 표시하지 않습니다.

또 다른 문제는 예기치 않게 닫힌 응용 프로그램을 종료 할 때입니다.

여기에 여기에 관련 부품

myImage::myImage(QGraphicsObject *parent) : 
QGraphicsObject(parent) 
{ 
    pxm = new QPixmap("://images/flower.jpg"); 
    setScale(0.5); 
} 

QRectF myImage::boundingRect() const 
{ 
    QRectF rect(0,0,pxm->width(),pxm->height()); 
    return rect; 
} 

void myImage::paint(QPainter* painter, 
        const QStyleOptionGraphicsItem* /*option*/, 
        QWidget* /*widget*/) 
{ 
    painter->drawPixmap(0, 0, pxm->width(), pxm->height(), *pxm); 
} 

그리고 여기에 문제는 당신이 Qt는 네이티브가 아닌 JPEG 이미지를 사용하고 있다는 것입니다 주요 기능

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 

    QGraphicsScene scene; 

    myImage img; 
    scene.addItem(&img); 

    QGraphicsView view(&scene); 

    QWidget window; 
    window.setFixedHeight(400); 
    window.setFixedWidth(500); 
    window.setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); 

    QPushButton button("Quit"); 
    QObject::connect(&button,SIGNAL(clicked()),&app,SLOT(quit())); 

    QVBoxLayout layout; 
    layout.addWidget(&view); 
    layout.addWidget(&button); 

    window.setLayout(&layout); 
    window.show(); 

    return app.exec(); 
} 

답변

0

입니다. Qt 설치시 "imageformats"라는 폴더가있는 plugins 폴더를 찾을 수 있습니다. 라이브러리의 폴더를 실행 파일의 경로 (Windows라고 가정)에 복사하면이 작업이 가능합니다. 비슷한 토론은 here입니다.

다른 방법으로 jpeg 이미지 형식을 사용하십시오.

+0

감사합니다. 문제가 해결되었습니다. – uLtRaLoVeR

관련 문제