AC
Наурыз 26, 2020, 3:10 Т.Ж.

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

MacOS

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

  1. bool DataBase::openDataBase()
  2. {
  3. db = QSqlDatabase::addDatabase("QSQLITE");
  4. db.setHostName(DATABASE_HOSTNAME);
  5. db.setDatabaseName(QDir::currentPath() + "/data/" DATABASE_NAME);
  6. if(db.open()){
  7. return true;
  8. } else {
  9. return false;
  10. }
  11. }

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

  1. bool DataBase::existObiectIdenticName(const QString nameTable, const QString nameObject)
  2. {
  3. QSqlQuery qry;
  4. qry.prepare("SELECT count(name) "
  5. "FROM " + nameTable + " "
  6. "WHERE name = '" + nameObject + "' "
  7. "AND deletionMark = 0;");
  8. if (qry.exec()){
  9. qry.next();
  10. int n = qry.value(0).toInt();
  11. bool value = (n > 0) ? true:false;
  12. return value;
  13. } else {
  14. return false;
  15. }
  16. }

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

  1. void DataBase::getInfoTableSQLite()
  2. {
  3. QSqlQuery qry;
  4. qry.prepare("pragma table_info('users')");
  5. qry.exec();
  6.  
  7. while (qry.next()) {
  8. qDebug() << qry.value(0).toString(); // index
  9. qDebug() << qry.value(1).toString(); // name column
  10. }
  11. }

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

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

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

2

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

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

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

      Пікірлер

      Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
      Кіріңіз немесе Тіркеліңіз