我在一个软件系统中广泛使用Qt来处理图形和GUI组件。但是,对于大多数内部算法和数据处理,Qt的作用较小。
我经常遇到需要将std::string转换为QString或反之亦然的情况。我的想法是尽可能多地使用std::string,并仅在需要传递字符串到像处理文件系统的Qt类时使用QString。
今天早上我在编程时意识到,在我的代码中同时存在std::string和QString可能是不良设计。我应该完全切换到QString吗?还有其他人遇到过这种设计选择吗?
Qt提供了许多与STL相同的功能,但我仍然犹豫不决是否完全切换,因为Qt不太标准化和稳定。
我经常遇到需要将std::string转换为QString或反之亦然的情况。我的想法是尽可能多地使用std::string,并仅在需要传递字符串到像处理文件系统的Qt类时使用QString。
今天早上我在编程时意识到,在我的代码中同时存在std::string和QString可能是不良设计。我应该完全切换到QString吗?还有其他人遇到过这种设计选择吗?
Qt提供了许多与STL相同的功能,但我仍然犹豫不决是否完全切换,因为Qt不太标准化和稳定。
QString
有一个名为toStdString()
的方法。请查看此处:http://doc.trolltech.com/4.5/qstring.html#toStdString。如果要从`std::string`创建`QString`,可以使用此构造函数:http://doc.trolltech.com/4.5/qstring.html#QString-7。 - yasouserstd::string
,其中始终包含UTF-8。 - Fred Fooreturn QString::fromUtf8(s.c_str(), s.size())
和auto buf = s.toUtf8(); return std::string(buf.data(), buf.size());
. - Toby Speight