Строки QStrings и C ++ решают различные проблемы - главное отличие состоит в том, что QStrings явно работают с локалями / кодировками, а std :: strings - нет.
, поэтому используйте QStrings для всех данных, введенных пользователями, и всех строк, которые будут отображаться для ваших пользователей, или вы рискуете потерять информацию при преобразовании кодировки и / или усложнить интернационализацию вашего приложения вбудущее.
Для всего, где мне нужен только символ *, например, для хранения данных, считанных из базы данных, где локали / кодировки не применимы, я использую std :: strings, так как их намного проще использовать сбиблиотеки не-Qt, и ваши данные не проходят через какие-либо преобразования кодировки.Однако вы должны явно добавить их в систему типов qt, чтобы иметь возможность использовать их в аргументах сигнал / слот, что легко сделать, если вы знаете, как.
Но, в конце концов, это вызов суждения -просто для того, чтобы сделать вашу кодовую базу более доступной для новичков, может быть лучше просто везде использовать QString или, возможно, просто везде использовать std :: string, если вы используете QtCore в не-графическом приложении.