Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
Jan. 9, 2019, 4:36 p.m.

Не меняется класс виджета

Qt, Widget

Здравствуйте. Создал класс наследник class TextEdit : public QTextEdit В редакторе заменил класс виджета QTextEdit на TextEdit Компилятор выдаеи ошибку: D:\QTProject\build-ReaderResume-Desktop_Qt_5_11_0_MinGW_32bit-Debug\ui_mainwindow.h:214: ошибка: no matching function for call to 'TextEdit::TextEdit(QWidget*&)' textEdit = new TextEdit(centralWidget); Скажите пожалуйста, в чем ошибка и как это исправить?

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
6

Добрый день!

Если только добавили новый класс, то нужно заново запустить qmake и пересобрать проект. Ну или просто удалить build каталог

0

Это не помогло. Может быть что то не так в классе-наследнике?

#ifndef TEXTEDIT_H
#define TEXTEDIT_H
#include <QMimeData>
#include <QTextEdit>
#include <QFileInfo>
#include <QImageReader>
#include <QFile>


class TextEdit : public QTextEdit
{
public:
    bool canInsertFromMimeData(const QMimeData* source) const
    {
        return source->hasImage() || source->hasUrls() ||
            QTextEdit::canInsertFromMimeData(source);
    }

    void insertFromMimeData(const QMimeData* source)
    {
        if (source->hasImage())
        {
            static int i = 1;
            QUrl url(QString("dropped_image_%1").arg(i++));
            dropImage(url, qvariant_cast<QImage>(source->imageData()));
        }
        else if (source->hasUrls())
        {
            foreach (QUrl url, source->urls())
            {
                QFileInfo info(url.toLocalFile());
                if (QImageReader::supportedImageFormats().contains(info.suffix().toLower().toLatin1()))
                    dropImage(url, QImage(info.filePath()));
                else
                    dropTextFile(url);
            }
        }
        else
        {
            QTextEdit::insertFromMimeData(source);
        }
    }

private:
    void dropImage(const QUrl& url, const QImage& image)
    {
        if (!image.isNull())
        {
            document()->addResource(QTextDocument::ImageResource, url, image);
            textCursor().insertImage(url.toString());
        }
    }

    void dropTextFile(const QUrl& url)
    {
        QFile file(url.toLocalFile());
        if (file.open(QIODevice::ReadOnly | QIODevice::Text))
            textCursor().insertText(file.readAll());
    }
};

#endif // TEXTEDIT_H

0

Ну да. У вас соответствующего конструктора нет.

TextEdit(QWidget parent* = nullptr);
0

Дописал в public:

TextEdit(QWidget *parent = nullptr);

Выдает ошибки: D:\QTProject\build-ReaderResume-Desktop_Qt_5_11_0_MinGW_32bit-Debug\ui_mainwindow.h:214: ошибка: undefined reference to `TextEdit::TextEdit(QWidget*)' collect2.exe:-1: ошибка: error: ld returned 1 exit status

0

а реализацию конструктора кто будет прописывать в cpp файле?

0

спасибо, заработало

1

Comments

Only authorized users can post comments.
Please, Log in or Sign up
D
March 19, 2019, 9:57 a.m.
Damir

C++ - Test 001. The first program and data types

  • Result:73points,
  • Rating points1
ПМ
March 18, 2019, 3:12 p.m.
Пётр Махнёв

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
ЯГ
March 18, 2019, 7:59 a.m.
Ян Греку

C++ - Тест 003. Условия и циклы

  • Result:21points,
  • Rating points-10
Last comments
March 16, 2019, 1:55 p.m.
Дмитрий

Спасибо за статью. Давно итересует следующий вопрос: с помощью переменных QMAKE_TARGET_COMPANYQMAKE_TARGET_PRODUCTQMAKE_TARGET_DESCRIPTIONможно задать свойства компилируемой программы, о...
JS
March 12, 2019, 10:19 a.m.
Jean Stefanovich

Большое спасибо за разъяснения!
March 12, 2019, 10:04 a.m.
Евгений Легоцкой

Hello, In fact, this functionality or is not implemented, or is not documented. I'm not sure. But I think, that it should be implemented in Text QML Type. Because of we can write text in...
March 12, 2019, 9:51 a.m.
Евгений Легоцкой

Да вы правы. На самом деле проще через QSqlQueryModel, сколько не пытался использовать эти дженерики типо QSqlTableModel и QSqlRelationalTableModel, то всегда упирался в какие-то их ограничени...
JS
March 12, 2019, 9:47 a.m.
Jean Stefanovich

Единицы измерения лежат там же где и названия продуктов. Просто в таблице ингредиенты нет ещё одного столбца, на который можно было бы установить setRelation. Я в итоге в базе создал ещё один ...
Now discuss on the forum
March 17, 2019, 10:47 p.m.
Евгений Легоцкой

Добрый день. Вот, нашлось у меня немного времени. Делается это через шаблон проектирования наблюдатель. GraphKS_mfvSlup.zip
ЧГ
March 15, 2019, 9:52 p.m.
Чарльз Грин

спасибо, попробую, отпишусь
m
March 15, 2019, 7:41 p.m.
mihamuz

Сори догадался)
n
March 12, 2019, 4:57 p.m.
newbie.works.with.QT

Большооооое спасибо!!!!!Не передать как я вам благодарен, спасибо что всегда отзываетесь.Теперь я смогу продолжить работу в QT!!! (пробую писать бота (Я как вы могли догадаться немного не пр...
March 12, 2019, 1:20 p.m.
BlinCT

Ну так если у вас есть готовая программа так ей и воспользуйтесь. Вы же написали ее вот и пользуйтесь.
Join us in social networks

For registered users on the site there is a minimum amount of advertising