Я пытаюсь использовать Qfontcombobox по умолчанию в своем приложении qt, чтобы изменить шрифт редактирования текста, и по какой-то причине получаю эту ошибку.
Вот мое определение для моего mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->fontComboBox,&QFontComboBox::currentFontChanged,this,&MainWindow::fontChanged);
}
void MainWindow::fontChanged(QFont &f) {
ui->textEdit->setFont(f);
}
MainWindow::~MainWindow()
{
delete ui;
}
а вот код заголовка главного окна
#include
#include
#include
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots:
void fontChanged(QFont &f);
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
Полная ошибка:
error: no matching function for call to 'makeCallableObject(void (MainWindow::*)(QFont&))'
In file included from C:/Qt/6.7.2/mingw_64/include/QtWidgets/qwidget.h:9,
from C:/Qt/6.7.2/mingw_64/include/QtWidgets/qmainwindow.h:8,
from C:/Qt/6.7.2/mingw_64/include/QtWidgets/QMainWindow:1,
from ..\..\mainwindow.h:4,
from ..\..\mainwindow.cpp:1:
C:/Qt/6.7.2/mingw_64/include/QtCore/qobject.h: In instantiation of 'static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer::Object*, Func1, const typename QtPrivate::ContextTypeForFunctor::ContextType*, Func2&&, Qt::ConnectionType) [with Func1 = void (QFontComboBox::*)(const QFont&); Func2 = void (MainWindow::*)(QFont&); typename QtPrivate::FunctionPointer::Object = QFontComboBox; typename QtPrivate::ContextTypeForFunctor::ContextType = MainWindow]':
..\..\mainwindow.cpp:8:12: required from here
C:/Qt/6.7.2/mingw_64/include/QtCore/qobject.h:262:64: error: no matching function for call to 'makeCallableObject(void (MainWindow::*)(QFont&))'
262 | QtPrivate::makeCallableObject(std::forward(slot)),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
Подробнее здесь: https://stackoverflow.com/questions/787 ... ableobject
QT нет соответствующей функции для вызова makeCallableObject ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1720903591
Anonymous
Я пытаюсь использовать Qfontcombobox по умолчанию в своем приложении qt, чтобы изменить шрифт редактирования текста, и по какой-то причине получаю эту ошибку.
Вот мое определение для моего mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->fontComboBox,&QFontComboBox::currentFontChanged,this,&MainWindow::fontChanged);
}
void MainWindow::fontChanged(QFont &f) {
ui->textEdit->setFont(f);
}
MainWindow::~MainWindow()
{
delete ui;
}
а вот код заголовка главного окна
#include
#include
#include
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots:
void fontChanged(QFont &f);
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
Полная ошибка:
error: no matching function for call to 'makeCallableObject(void (MainWindow::*)(QFont&))'
In file included from C:/Qt/6.7.2/mingw_64/include/QtWidgets/qwidget.h:9,
from C:/Qt/6.7.2/mingw_64/include/QtWidgets/qmainwindow.h:8,
from C:/Qt/6.7.2/mingw_64/include/QtWidgets/QMainWindow:1,
from ..\..\mainwindow.h:4,
from ..\..\mainwindow.cpp:1:
C:/Qt/6.7.2/mingw_64/include/QtCore/qobject.h: In instantiation of 'static QMetaObject::Connection QObject::connect(const typename QtPrivate::FunctionPointer::Object*, Func1, const typename QtPrivate::ContextTypeForFunctor::ContextType*, Func2&&, Qt::ConnectionType) [with Func1 = void (QFontComboBox::*)(const QFont&); Func2 = void (MainWindow::*)(QFont&); typename QtPrivate::FunctionPointer::Object = QFontComboBox; typename QtPrivate::ContextTypeForFunctor::ContextType = MainWindow]':
..\..\mainwindow.cpp:8:12: required from here
C:/Qt/6.7.2/mingw_64/include/QtCore/qobject.h:262:64: error: no matching function for call to 'makeCallableObject(void (MainWindow::*)(QFont&))'
262 | QtPrivate::makeCallableObject(std::forward(slot)),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
Подробнее здесь: [url]https://stackoverflow.com/questions/78744771/qt-no-matching-function-for-call-to-makecallableobject[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия