[英]Qt UI for existing C++ project
我已经编写了一个C ++程序,我想为它编写一个GUI。 我意识到Qt是一个很棒的工具,但是,Qt有它自己的类,这让我很困惑。 例如:Qt有一个名为QString的类,而不是String。
我想知道我是否可以在C ++中混合使用C ++代码和Qt代码?
是的,你可以很容易地混合Qt和STL。
GUI接受QString
但是会静默地创建这些形式的std::string
或char*
,从Qt返回的QStrings
可以用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主要用于GUI,但它是Socket,Containers,Network等的好类。您可以自由使用STL和其他普通类或Qt为您提供的类。 最重要的一点是,如果你在主编译之前的代码中使用Qt,你应该进行元编译,以便为编译器做好准备。 你应该注意的一点是,Qt不是标准的,它意味着虽然它支持Windows,Linux和Mac OS,但它不能在其他平台上使用。
它们可以一起使用。
C ++有着悠久的历史,STL的实现和支持随着语言的发展而发展。 我认为前Trolltech团队认为他们对STL实现的质量和可用性没有足够的控制权来使Qt库依赖它。 结果是Qt有自己的QTL,QtAlgorithms头和QString。
他们注意使它们与STL兼容:
就个人而言,我喜欢QString而不是std :: string,它更容易使用,功能更强大。
是的你可以。
我实际上为一组基于C的函数制作了一个Qt-GUI包装器。 Qt集成没有问题,只有低级别C(泄漏内存......)。
请参阅此处: http : //code.google.com/p/qhocr/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.