'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 > Сборка
Я просто изменил путь к файлу для компиляции с новым файлом, который я только что создал и который был пустым.
Затем я снова попытался скомпилировать свой проект, и он сработал!
(Спасибо за вашу помощь)