win7 で非常に単純なアプリケーションを開発し、win8 で実行しています。win7 で実行すると、QGraphicsObject
サブクラスによって描画されたピックスマップが表示されます。ただし、exeとdllをタブレットにコピーすると、ピックスマップは表示されませんが、他のすべては同じです。
もう 1 つの問題は、アプリケーションを終了すると、予期せず閉じられたと表示されることです。
関連パーツはこちら
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 );
}
そして、ここに主な機能があります
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();
}