夸脱的用户界面为现有的C++的项目
-
20-09-2019 - |
题
我已经写了一个C++的程序和我想写一个图形用户界面。我意识到脱是一个奇妙的工具,但是,脱了它自己的课程,这使我相当混淆。例如:而不是弦,建有一个类命名字符串..
我想知道如果我可以混合使用C++编码和脱码在C++?
解决方案
是可以很容易相互混合Qt和STL。
在GUI需要QString
s但将静默创建这些形式std::string
或char*
,QStrings
从Qt的返回可与toStdString()
或toAscii()
被转换。
Qt的包括集合类,但是你没有使用它们。
的Qt做的看起来像现代C ++,也有少数的“演员”来处理信号和片事件机制,良好的工作,但这些都是比较并发症编译环境,而不是代码。
编辑:由于纸币
其他提示
我不会推荐混合STD C ++代码和Qt代码在一起。
让我们说,你的C ++代码逻辑,则Qt代码,应该只是为GUI。 使用MVC / MVP图案或同样地,分离的逻辑和UI。
因此,这将是在未来更容易能够不使用UI运行与/你的代码。
总之,是的,你可以!例如,为QString本质上是一个字符串,有toascii将()方法,让您可以轻松使用Qt为您的项目。虽然你可能碰到一些问题整合的Qt到Visual Studio(假定正在使用的话),就能够混合C ++代码和Qt代码(这是在C ++)
是啊! Qt是东西,你可以在你的C ++代码中使用。 Qt是主要用于图形用户界面,但它是很好的类插座,集装箱,网络,... 您可以自由使用STL和其他正常类或Qt的为您提供的。 最大的一点是,如果你在你的代码之前主要使用Qt编译你应该做的Meta编译,使之为你准备好编译器。 你应该注意的一件事是,Qt是没有标准就意味着虽然它支持Windows,Linux和Mac OS,它不会使用其他平台。
他们可以一起使用。
C++已经有很长的历史和STL实施和支持已有的语言。我认为,前奇趣的团队决定,他们没有足够的控制的质量和提供STL的实现,以使脱库依赖于它。结果是,建设有其自己的汽车oem厂QtAlgorithms头和字符串.
他们已经照顾,使他们兼容STL:
- 最容器中有一个类似的接口STL的(e。g:迭代的访问,push_back(),empty(),etc)
- 脱容器可以转换为从STL容器(e。g:QVector::toStdVector,QList::fromStdList)
- 脱集装箱可以被用于与STL算法
- 字符串可以转换为/std::string和性传播疾病::wstring与toStd(W)String/fromStd(W)串
就个人而言,我喜欢字符串多std::string,它更便于使用和更加强大。