Seite 1 von 1

QPainter: Rechteck ist kein Rechteck [gelöst]

Verfasst: 17. Juni 2009 16:14
von Zephyr
Hi@all

Ich muss eine QWebView in eine QGraphicsScene einbetten ,das ist soweit kein Problem.

Jedoch soll die WebView einen Rahmen haben und deshalb habe eine vererbte Klasse des QGraphicsProxyWidget erstellt ,nun stellt sich mir ein Problem entgegen ,wieso ist das Rechteck was ich mit dem QPainter zeichne kein Rechteck ? (Bild angefügt)



Hier mein Code:

extendedproxy.h

Code: Alles auswählen

#ifndef EXTENDEDPROXY_H
#define EXTENDEDPROXY_H

#include <QPainter>
#include <QGraphicsProxyWidget>
#include <QtDebug>

class ExtendedProxy : public QGraphicsProxyWidget
{
public:
    ExtendedProxy();
private:
    void paint(QPainter* painter,const QStyleOptionGraphicsItem *option,QWidget* widget);
};

#endif // EXTENDEDPROXY_H


extendedproxy.cpp

Code: Alles auswählen

#include "extendedproxy.h"

ExtendedProxy::ExtendedProxy()
{
}

void ExtendedProxy::paint(QPainter *painter,const QStyleOptionGraphicsItem *option,QWidget *widget){
    //qDebug()<<"Paint ";
    QGraphicsProxyWidget::paint(painter,option,widget);
        QPen pen(Qt::blue);
    pen.setWidth(50);
    painter->setPen(pen);
    painter->drawRect(-50,-50,this->geometry().width()+100,this->geometry().height()+100);
}

main.cpp

Code: Alles auswählen

#include <QtGui/QApplication>
#include <QtWebKit>
#include <QWebSettings>
#include <QGraphicsView>
#include <QGraphicsScene>
#include "extendedproxy.h"
#include <QLabel>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QGraphicsScene gscene;
    QGraphicsView gview(&gscene);
    gview.setGeometry(100,100,800,800);
    gview.show();

    ExtendedProxy* proxy = new ExtendedProxy();

    QWebView *view = new QWebView();
    view->setGeometry(100,100,600,600);

    view->load(QUrl("http://www.google.de"));

    view->settings()->setAttribute(QWebSettings::PluginsEnabled,true);


    proxy->setWidget(view);

    gscene.addItem(proxy);

    return a.exec();
}


Ich hoffe das mein Problem deutlich geworden ist ,woher stammt dieses Problem und was kann man dagegen tun ?

Verfasst: 17. Juni 2009 17:09
von upsala

Verfasst: 18. Juni 2009 08:05
von Zephyr
Oh je daran hate ich gar nicht gedacht :x

Danke für den Hinweis ,nach dem ich den JoinStyle auf MiterJoin gesetzt habe funktioniert das ganze.