LINUX.ORG.RU

История изменений

Исправление hobbit, (текущая версия) :

И ещё такой пример, про который я забыл в ОП написать.

Допустим, мне надо подключить к программе БД. В сложном (но вполне жизненном) случае - обеспечить поддержку разных БД, чтобы например, клиент-серверный вариант работал с PostgreSQL, а локальный - с SQLite. В Qt я могу такое провернуть, добавив в проект модуль QtSql ( и я так реально делал, работало).

А если я пишу программу с GTK, мне придётся подключать низкоуровневые библиотеки для соответствующей СУБД (libpq-dev или libsqlite3-dev) и если нужна универсальность, нагородить над ними самописный враппер из трёх классов? Ну классов-то нагородить не проблема (правда, на это уйдёт время, и я не уверен, что продукт будет такой же вылизанный, как у троллей).

Опять же под линуксом подключить дополнительные библиотеки не проблема - поставить dev-пакеты и добавить в проект ключиков -l. А что в винде? Там, надеюсь, не придётся хотя бы прописывать в проекте абсолютные пути к библиотекам? Или CMake это за меня решит?

И есть ли GTK-совместимые решения для отображения информации из БД, сравнимые по искоробочности с QSqlQueryModel + QTableView?

Строго говоря, эти вопросы (кроме последнего) опять-таки к GTK прямого отношения не имеет. Просто в Qt это решается тупо добавлением в проект указания на модуль QtSql и включением в дистрибутив драйверов СУБД. Причём файл проекта одинаково выглядит и для линукса, и для винды. (Про OS X врать не буду - под ней я собирал только два кутешных проекта, и ни в одном из них БД не использовались.) Вот и хочется сравнить трудоёмкость и элегантность...

Исходная версия hobbit, :

И ещё такой пример, про который я забыл в ОП написать.

Допустим, мне надо подключить к программе БД. В сложном (но вполне жизненном) случае - обеспечить поддержку разных БД, чтобы например, клиент-серверный вариант работал с PostgreSQL, а локальный - с SQLite. В Qt я могу такое провернуть, добавив в проект модуль QtSql ( и я так реально делал, работало).

А если я пишу программу с GTK, мне придётся подключать низкоуровневые библиотеки для соответствующей СУБД (libpq-dev или libsqlite3-dev) и если нужна универсальность, нагородить над ними самописный враппер из трёх классов? Ну классов-то нагородить не проблема (правда, на это уйдёт время, и я не уверен, что продукт будет такой же вылизанный, как у троллей).

Опять же под линуксом подключить дополнительные библиотеки не проблема - поставить dev-пакеты и добавить в проект ключиков -l. А что в винде? Там, надеюсь, не придётся хотя бы прописывать в проекте абсолютные пути к библиотекам? Или CMake это за меня решит?

И есть ли GTK-совместимые решения для отображения информации из БД, сравнимые по искоробочности с QSqlQueryModel + QTableView?

Строго говоря, эти вопросы (кроме последнего) опять-таки к GTK прямого отношения не имеет. Просто в Qt это решается тупо добавлением в проект указания на модуль QtSql. Причём файл проекта одинаково выглядит и для линукса, и для винды. (Про OS X врать не буду - под ней я собирал только два кутешных проекта, и ни в одном из них БД не использовались.) Вот и хочется сравнить трудоёмкость и элегантность...