'void QAbstractButton::clicked(bool)' защищен

На самом деле я работаю над проектом с Qt 5.10.1. Я использую Linux, а мои партнеры используют Windows.

Мы написали этот кусок кода:

QCheckBox* _survive[9] = {
        ui->survive0, ui->survive1, ui->survive2, ui->survive3,
        ui->survive4, ui->survive5, ui->survive6, ui->survive7, ui->survive8
    };
QCheckBox* _born[9] = {
        ui->born0, ui->born1, ui->born2, ui->born3,
        ui->born4, ui->born5, ui->born6, ui->born7, ui->born8
    };
    std::copy_n(_survive, 9, survive); // because arrays are not directly assignable
    std::copy_n(_born, 9, born);


for (int i = 0; i < 9; i++) {
        connect(born[i], &QCheckBox::clicked, this, &Automate_2D::on_born_i_clicked);
        connect(survive[i], &QCheckBox::clicked, this, &Automate_2D::on_survive_i_clicked);
    }

куда survive0..survive8 а также born0..born8 флажки.

При компиляции это не показывает ошибку в Windows, но в Linux у меня есть эта ошибка:

void QAbstractButton:: clicked (bool) 'защищен в этом контексте

подключиться (родился [i], &QCheckBox::clicked, this & &Automate_2D::on_born_i_clicked);

Что я могу сделать, чтобы это исправить? Я не понимаю, почему это появляется только в Linux.

1 ответ

Я нашел решение, если оно может кому-то помочь. В QT я зашел в окно "проекта" (слева), а в

Projetct > Deskop QT 5.11.0 GCC 64Bit > Сборка

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

Затем я снова попытался скомпилировать свой проект, и он сработал!

(Спасибо за вашу помощь)

Другие вопросы по тегам