QPainter: Rechteck ist kein Rechteck [gelöst]

Alles rund um die Programmierung mit Qt
Antworten
Zephyr
Beiträge: 31
Registriert: 17. Februar 2009 14:29

QPainter: Rechteck ist kein Rechteck [gelöst]

Beitrag 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 ?
Dateianhänge
rechteck.jpg
rechteck.jpg (29.67 KiB) 2030 mal betrachtet
Zuletzt geändert von Zephyr am 18. Juni 2009 08:05, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Zephyr
Beiträge: 31
Registriert: 17. Februar 2009 14:29

Beitrag 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.
Antworten