0
私はC++のPyQt5からQt5への移行中ですが、ちょっと苦労しています。 logo
と呼ばれるQwidgetを含む単純なUIを作成しました。私がこのコードでウィジェットをレンダリングするSVGウィジェット作成しようとしている:PythonでUIからのQt5ウィジェットのプロパティ
QSvgRenderer renderer(QString(":/LogoSVG.svg"));
QImage image(500, 200, QImage::Format_ARGB32);
image.fill(0x000000);
QPainter painter(&image);
renderer.render(&painter);
、私はUIのフォームローダークラスで、その後SVGをレンダリングするシンプルなウィジェットクラスを作成したい私は
にしてくださいself.logo = SVGRender(self)
私はC++のQtで同じことをやろうとしているので、ここで私がこれまで持っているものだと、それは誤りerror: cannot convert ‘logoW’ to ‘QWidget*’ in assignment
example.h
#ifndef EXAMPLE_H
#define EXAMPLE_H
#include "ui_example.h"
class example : public QWidget
{
Q_OBJECT
public:
example(QWidget *parent = 0);
private:
Ui::example ui;
};
class logoW: public QWidget
{
Q_OBJECT
public:
logoW(QWidget *parent = 0);
};
#endif
を返しています
example.cpp
#include <QtGui>
#include <QScreen>
#include <QApplication>
#include <QDesktopWidget>
#include <QCoreApplication>
#include <QSvgRenderer>
#include <QPainter>
#include <QImage>
#include <iostream>
#include "example.h"
using namespace std;
example::example(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
ui.logo = logoW(this)
}
logoW :: logoW(QWidget * parent = 0){
QSvgRenderer renderer(QString(":resources/LogoSvg.svg"));
QImage image(500, 200, QImage::Format_ARGB32);
image.fill(0xaaA08080);
QPainter painter(&image);
renderer.render(&painter);
}
誰かが私が間違ってやっている私を見ることができますか?
ui.logo = logoW(this);
に:私もあなたに画像を表示することを理解し
ui.logo = new logoW(this);
Welp、new'は、それがコンパイルさせ、あなたの編集 '追加それを機能させた。助けてくれてありがとう、今私は間違ったことを知っている。 – aseylys