我已经写了一个C++的程序和我想写一个图形用户界面。我意识到脱是一个奇妙的工具,但是,脱了它自己的课程,这使我相当混淆。例如:而不是弦,建有一个类命名字符串..

我想知道如果我可以混合使用C++编码和脱码在C++?

有帮助吗?

解决方案

是可以很容易相互混合Qt和STL。

在GUI需要QStrings但将静默创建这些形式std::stringchar*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,它更便于使用和更加强大。

是可以。

我曾作过Qt的GUI的包装用于一组的基于C的功能。与Qt的积分没有问题,只有低级别C(漏出存储器...)。

请参阅这里: http://code.google.com/p/qhocr/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top