Qt: классы Qt против стандартного C ++ - PullRequest
6 голосов
/ 19 августа 2010

Большой объем функциональности дублируется между стандартными c ++ и Qt.В какой-то момент это кажется логичным, но много раз это выглядит глупо.Как будто я делаю новый язык программирования, изучаю вещи, которые я уже знаю.например, используя QFile.

Также, если я сделаю все это Qt и предположим, что теперь я хочу выйти из среды Qt, будет слишком утомительно переписывать этот код.OTOH Мне нравится Qt, потому что он предоставляет мне библиотеки, которые в противном случае мне пришлось бы ловить себя, такие как webkit, соединение с базой данных, dbus и т. Д.

Что вы предлагаете смешать в стандартном C ++ или в чистом Qt?

Ответы [ 2 ]

5 голосов
/ 19 августа 2010

Поскольку в C ++ нет графического интерфейса пользователя, вы должны абстрагировать код GUI от остальной части реального кода.

Тогда в вашей реализации QT вашей абстракции GUI не стесняйтесь использовать код QT.
Вызатем также сможет писать абстракции графического интерфейса Wx / Quartz, не влияя на реальный код.

В реальном коде (если работа сделана) придерживайтесь стандартных вещей (или кроссплатформенных библиотек, которые почти стандартны (повышение))).Можно утверждать, что QT является кроссплатформенным.Просто помните, что использование библиотеки здесь будет тесно связывать ваш код с библиотекой, поэтому его извлечение на более позднем этапе будет нетривиальным.(см. предыдущий вопрос об удалении Rouge Wave из устаревшего приложения)

3 голосов
/ 19 августа 2010

Я делаю все классы коллекций в std: это понятнее для не Qt разработчиков и более переносимо.

Строки и списки строк Я использую Qt внутри чисто функции Qt, которая делает что-то с GUI, но в остальном использует std :: String. Хотя форматирование Qt .arg () намного приятнее, чем stringstream

...