Преобразование файла пользовательского интерфейса QtCreator, содержащего пользовательские плагины, в .py через PyQt5

Я создал плагин, который является датчиком. Я использовал QQuickWidget для создания плагина. Это мой класс определения плагина, он отлично работает и будет добавлен в компоненты QtCreator:

class QDESIGNER_WIDGET_EXPORT AnalogeGauge : public QQuickWidget
{
    Q_OBJECT
    Q_PROPERTY(double value READ value WRITE setValue NOTIFY valueChanged)
    Q_PROPERTY(double min READ min WRITE setMin NOTIFY minChanged)
    Q_PROPERTY(double max READ max WRITE setMax NOTIFY maxChanged)
public:
    AnalogeGauge(QWidget *parent = nullptr);

    double value() const;
    void setValue(double value);

    double min() const;
    void setMin(double min);

    double max() const;
    void setMax(double max);

signals:
    void valueChanged(QVariant val);
    void minChanged(QVariant val);
    void maxChanged(QVariant val);

private:
    double _value;
    double _min;
    double _max;
};

После разработки пользовательского интерфейса с помощью этого плагина я хочу преобразовать .ui в .py. Но после использования pyuic5 для преобразования и запуска файла python я столкнусь со следующей ошибкой:

  File "ui_form.py", line 44, in <module>
    from analogegauge import AnalogeGauge
ModuleNotFoundError: No module named 'analogegauge'

Так что похоже плагин не добавлен. Мой вопрос в том, как исправить эту ошибку или как я могу преобразовать плагин в .py? Благодарность


person Mosi    schedule 02.08.2019    source источник
comment
Если это было показано в Qt Designer, то если плагин заработал, но одно дело плагин, а другое дело привязка вашего класса в питоне, и для этого вы могли бы использовать SIP   -  person eyllanesc    schedule 02.08.2019
comment
Да, это отображается на qtdesigner, но возвращает ошибку на py   -  person Mosi    schedule 02.08.2019
comment
Плагин работает только для Qt Designer и больше ни для чего. Но если вы хотите использовать его в Python, то вы должны сделать привязку, как это делает PyQt5 или PySide2, а для этого вы можете использовать SIP или shiboken соответственно. См. этот пример: github.com/eyllanesc/Qt5toPyQt5   -  person eyllanesc    schedule 02.08.2019