QT Custom Widget не удается построитьC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 QT Custom Widget не удается построить

Сообщение Anonymous »

Я пытаюсь сделать пользовательский виджет/плагин, который будет интерпретироваться QT Designer как элемент перетаскивания. Большинство работ, однако я получаю одну ошибку в конце сборки. Не могу преобразовать аргумент 1 из «Qwidget *» в «Const GlineEdit & ' Я не слишком уверен, что это хочет, чтобы я сделал, чтобы исправить это, но не так уж много. Вот мой соответствующий исходный код: < /p>

glineeditplugin.cpp фрагмент < /p>

QWidget *GLineEditPlugin::createWidget(QWidget *parent)
{
return new GLineEdit(parent);
}
< /code>

glineedit.cpp

#include "glineedit.h"
GLineEdit::GLineEdit(const QString &str, const QString &color, QWidget *parent)
: QWidget(parent)
{
QVBoxLayout *layoutMain = new QVBoxLayout(this);

setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);

m_header = new GLineEditHeader(this, str);
m_header->setStyleSheet("QLabel { color: " + color + "; }");
m_input = new GLineEditInput(this);
m_input->setStyleSheet(QString("QLineEdit { font-size: 12pt; padding-bottom: 5px; border: none; background-color: transparent; border-bottom: 2px solid %1; color: %1;}").arg(color));

layoutMain->addSpacerItem(new QSpacerItem(20, 15, QSizePolicy::Minimum, QSizePolicy::Fixed));
layoutMain->addWidget(m_input);
layoutMain->setContentsMargins(0, 0, 0, 0);
layoutMain->setSpacing(0);

connect(m_input, &GLineEditInput::focusChanged, m_header, &GLineEditHeader::zoom);
connect(m_input, &GLineEditInput::cleared, m_header, &GLineEditHeader::enableZoom);
}
< /code>

glineedit.h

#ifndef GLINEEDIT_H
#define GLINEEDIT_H

#include "glineeditheader.h"
#include "glineeditinput.h"

#include
#include

class GLineEdit : public QWidget
{
Q_OBJECT

public:
GLineEdit(const QString &str, const QString &color, QWidget *parent = 0);

QString text() const;
QString title() const;

void setText(const QString &str);
void setTitle(const QString &str);

private:
GLineEditHeader *m_header;
GLineEditInput *m_input;
};

#endif //GLINEEDIT_H


Подробнее здесь: https://stackoverflow.com/questions/460 ... g-to-build
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»