Qt падает в QMetaObject :: connectSlotsByName (MainWindow); - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть проблема, которую я не знаю, как ее решить.

Я перестроил весь свой проект, чтобы убедиться, что все скомпилировано правильно.Однако ошибка остается, она вылетает в

void setupUi(QMainWindow *MainWindow)
{
...
QMetaObject::connectSlotsByName(MainWindow);

РЕДАКТИРОВАТЬ: это происходит только тогда, когда этот код создается с помощью файла пользовательского интерфейса

    tabWidget->addTab(tabProperties, QString());
    tab_Serial = new QWidget();
    tab_Serial->setObjectName(QString::fromUtf8("tab_Serial"));
    gridLayout_4 = new QGridLayout(tab_Serial);
    gridLayout_4->setSpacing(6);
    gridLayout_4->setContentsMargins(11, 11, 11, 11);
    gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
    widget = new WidgetSerialPort(tab_Serial);
    widget->setObjectName(QString::fromUtf8("widget"));

    gridLayout_4->addWidget(widget, 0, 0, 1, 1);

Он в основном загружает класс WidgetSerialPort.

Причина в том, что setupUI в

WidgetSerialPort::WidgetSerialPort(QWidget *parent)
    : QWidget(parent)    
    , ui(new Ui::WidgetSerialPort)
    , m_serial(new QSerialPort(this))
{
    ui->setupUi(this);
}

Вызывает код в

ui(new Ui::WidgetCameraParameter)    

, который находится в совершенно другом файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...