AC
Alexandru Codreanu25 марта 2020 г. 17:10

Qt / C++ тестирование проекта в MacOS

MacOS

Добрый день.
Пишу проект используя базу данных sqlite на OS Linux Debian 10 .
Периодически тестирую на Windows 10 и вот решил протестировать проект под macOS ( MacBook Air-Mid 2011 ) - ужаснулся.
Скопировал проект в домашнюю директорию на маке, удалил файл xxx.pro.user, собрал проект и запустил:
1.первое с чем столкнулся Авторизация = не прошел авторизацию(мягко говоря "удивился").
Запустил отладчик - соединение с БД прошло успешно. Первая функция отработана

bool DataBase::openDataBase()
{
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setHostName(DATABASE_HOSTNAME);
    db.setDatabaseName(QDir::currentPath() + "/data/" DATABASE_NAME);
    if(db.open()){
        return true;
    } else {
        return false;
    }
}

...далее(стопор) - функция поиска пользователя по имени(проверена на linux и windows )

bool DataBase::existObiectIdenticName(const QString nameTable, const QString nameObject)
{
    QSqlQuery qry;
    qry.prepare("SELECT count(name) "
                "FROM " + nameTable + " "
                "WHERE name = '" + nameObject + "' "
                "AND deletionMark = 0;");
    if (qry.exec()){
        qry.next();
        int n = qry.value(0).toInt();
        bool value = (n > 0) ? true:false;
        return value;
    } else {
        return false;
    }
}

... начал эксперементировать, но ничего не вышло. Не считывает информацию с БД.
Хотя функция о колонках таблицы считывается нормально.

void DataBase::getInfoTableSQLite()
{
    QSqlQuery qry;
    qry.prepare("pragma table_info('users')");
    qry.exec();

    while (qry.next()) {
        qDebug() << qry.value(0).toString(); // index
        qDebug() << qry.value(1).toString(); // name column
    }
}

Предполагаю что не корректно установил и настроил Qt Creator в macOS (дальше не разбирался).

2.двинулся дальше = закомментировал авторизацию пользователя, хотел глянуть на формы, как оказалось формы ведут себя непредсказуемо.
Если в linux и windows формы меня устраивают, то в macOS нет.

Есть ли специфика установки Qt Creator на macOS кроме того что необходимо установить xcode ?
Как подружить macOS и sqlite ?
Формы необходимо создавать непосредственно в macOS ?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

2
Evgenii Legotckoi
  • 27 марта 2020 г. 6:31
  1. Специфики кроме xcode не должно быть.
  2. Вообще должно было сработать сразу из коробки без всяких проблем. SQLite не требует каких-то особенных драйверов
  3. Без разницы, где создавать формы, просто MacOS имеет свои заскоки по дизайну, поэтому скорее всего неправильно установились размеры, думаю, что нужно рыть докумеентацию на стили и вёрстку, скорее всего нужно будет включить какие-то флаги, или вручную в коде специально для мака доделывать стили.
    AC
    • 27 марта 2020 г. 8:25

    Спасибо за ответы.
    Скорее всего оставлю на неопределенное время под macOS.
    Хоть будет полезно другим начинающим разработчикам.

      Комментарии

      Только авторизованные пользователи могут публиковать комментарии.
      Пожалуйста, авторизуйтесь или зарегистрируйтесь
      Г

      C++ - Тест 001. Первая программа и типы данных

      • Результат:66баллов,
      • Очки рейтинга-1
      t

      C++ - Тест 001. Первая программа и типы данных

      • Результат:33баллов,
      • Очки рейтинга-10
      t

      Qt - Тест 001. Сигналы и слоты

      • Результат:52баллов,
      • Очки рейтинга-4
      Последние комментарии
      G
      GoattRock3 сентября 2024 г. 19:50
      Как Копировать Файлы в Linux Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
      ВР
      Влад Русоков2 августа 2024 г. 7:47
      Как Копировать Файлы в Linux Screenshot_20240802-065123.png
      d
      dblas55 июля 2024 г. 17:02
      QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
      k
      kmssr9 февраля 2024 г. 0:43
      Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
      АК
      Анатолий Кононенко5 февраля 2024 г. 7:50
      Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
      Сейчас обсуждают на форуме
      Evgenii Legotckoi
      Evgenii Legotckoi24 июня 2024 г. 21:11
      добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
      F
      Fynjy22 июля 2024 г. 10:15
      при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
      BlinCT
      BlinCT25 июня 2024 г. 7:00
      Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
      BlinCT
      BlinCT5 мая 2024 г. 11:46
      Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
      Evgenii Legotckoi
      Evgenii Legotckoi2 мая 2024 г. 20:07
      Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

      Следите за нами в социальных сетях