来自 UI 的 Qt5 小部件属性

阿西利斯

我正在从 PyQt5 过渡到 C++ 中的 Qt5,我遇到了一些艰难的时期。我创建了一个简单的 UI,其中包含一个名为logo. 我正在尝试使用以下代码使这个小部件成为 SVG 渲染小部件:

QSvgRenderer renderer(QString(":/LogoSVG.svg"));

QImage image(500, 200, QImage::Format_ARGB32);
image.fill(0x000000);

QPainter painter(&image);
renderer.render(&painter);

在 Python 中,我会创建一个简单的小部件类来呈现 SVG,然后在 UI 表单加载器类中我会做

self.logo = SVGRender(self)

我正在尝试在 C++ Qt 中做同样的事情,所以这是我到目前为止所拥有的,它正在返回错误 error: cannot convert ‘logoW’ to ‘QWidget*’ in assignment

例子.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

例子.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 需要对象的指针,在你的情况下它会改变:

ui.logo = logoW(this);

至:

ui.logo = new logoW(this);

我也知道您想在徽标小部件中显示图像。为此,您必须实现以下paintEvent方法:

*。H

class logoW: public QWidget
{
    Q_OBJECT

public:
    logoW(QWidget *parent = 0);

protected:
    void paintEvent(QPaintEvent *event);
};

* .cpp

logoW::logoW(QWidget *parent):QWidget(parent)
{
}

void logoW::paintEvent(QPaintEvent *event){
    Q_UNUSED(event)
    QSvgRenderer renderer(QString(":resources/LogoSvg.svg"));

    QPainter painter(this);

    renderer.render(&painter);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查看来自Google Play的UI小部件

来自分类Dev

Qt5如何使类成员小部件无法删除

来自分类Dev

可移动的UI错误Qt5

来自分类Dev

如何在Qt5中将键盘事件伪造为小部件

来自分类Dev

如何在Qt5中的小部件上画一条线

来自分类Dev

如何在Qt5中将键盘事件伪造为小部件

来自分类Dev

QT5 - 同一窗口中的多个 OpenGL 小部件

来自分类Dev

在 Qt5 日历小部件中突出显示日期间隔

来自分类Dev

Qt5 Designer Ui文件中的QSystemTrayIcon

来自分类Dev

Qt语言学家:仅翻译基于.ui的小部件,其他上下文/小部件不翻译

来自分类Dev

如何从 Django 小部件中删除 HTML5 属性

来自分类Dev

禁止来自interact()小部件的输出

来自分类Dev

存储来自Entry小部件tkinter的数据

来自分类Dev

父母Qt小部件

来自分类Dev

交换Qt小部件

来自分类Dev

标记Qt小部件

来自分类Dev

标记Qt小部件

来自分类Dev

Qt5:AttributeError:'模块'对象没有属性'QApplication'

来自分类Dev

QML QT5中如何显示分配的属性组件?

来自分类Dev

PyQt5 不能在单独的 ui 文件中使用预定义的小部件

来自分类Dev

PyQT5-如何在QLCD小部件中显示来自串行的发射信号的一部分?

来自分类Dev

如何将点击处理程序添加到自定义jQuery UI小部件并在处理程序中使用小部件的属性?

来自分类Dev

来自qt的.ui文件是否与python和c ++兼容?

来自分类Dev

完全禁用Jquery UI小部件

来自分类Dev

jQuery UI继承按钮小部件

来自分类Dev

小部件与UI组件有何不同?

来自分类Dev

什么是Kendo UI自动完成小部件

来自分类Dev

jQuery-ui小部件已呈现

来自分类Dev

使用jquery-ui小部件