kum*_*rsh 42 c# c++ wpf user-interface qt
我和我的团队正在开发一个应用程序,它涉及用C++编写的后端,并涉及使用OpenCV,MIL等库.
现在,我们需要开发一个GUI来与该程序进行交互,以便GUI显示图像,用户可以与图像交互并注释/标记图像,然后运行用C++编写的图像处理算法来显示结果.
对于GUI,我很难在WPF和Qt之间做出选择我个人认为WPF比Qt更容易,而且比Qt更强大我明白WPF不能移植到Linux,但我并不担心这个太多...而且,WPF使用DirectX技术,我可能必须使用它来在稍后阶段生成一些3-D可视化.
请帮我解决以下几点:
(我有一种下沉的感觉,我必须编写太多的代码来连接C++与WPF,这可能等于重写实际程序本身的一半...... :-()
Liz*_*Liz 32
我已经将Qt与C++和WPF一起使用了.我更喜欢WPF作为用户界面框架.Qt也不错,尤其是4.0之后.我甚至不会触及早期版本的Qt.
正如其他人在评论中所说,WPF有更好的文档记录,在线社区更大.如果您正在查看样式应用程序WPF肯定是要走的路.Qt的声明式语言是新的,沿着这条道路迈出了一大步,但因为它是如此新颖,它往往有点儿马车.WPF已经存在更长时间,并且功能更加成熟和丰富.
但是,我认为您的案例中的真正问题是您拥有的c ++代码库.
WPF将需要C++/CLI层(托管C++)才能与您的c ++代码库正确连接.这听起来很复杂,确实需要一点点工作,但它并不像听起来那么疯狂.此外还有大量关于此的文档.我个人会远离PInvoke.
Qt稍微容易一点,因为它是基于c ++的,但你可以在c ++本机类型和内部使用的Qt类型(如QString,QList等)之间进行一些翻译.
另一件需要考虑的事情是您希望UI的外观和感觉.例如,如果你正在考虑一个漂亮的Ribbon(office 2008,2010)外观,那么你将无法通过Qt得到这个.此外,还有大量的第三方WPF控件,但我没有为Qt找到很多.在某些情况下,购买一组很好的控件以补充Microsoft默认提供的控件非常方便.
在过去的几年里,我们没有要求拥有Linux UI,我们一直在使用WPF,无论代码库如何.我们还没有后悔.
但是,我还建议第三种选择.Code-jock是一个基于MFC的UI框架,我相信.它是基于c ++和ActiveX的.它变得非常复杂.检查它在这里.
编辑:自从我第一次看到它以来,QML已经走过了漫长的道路.我没有时间深入研究它,但从我听到它提供了一些非常有趣的功能.值得一看.
此外,正如一些评论所指出的那样,还有更多类似Office的控件,如功能区,以及添加到Qt工具集的一些图表和图形控件.这些确实使Qt成为一个有趣的前景.
我会支持我之前说过的一些事情,作为一名程序员,我发现用WPF制作用户界面要容易得多,而且我对我的结果比用Qt编写的任何东西都更令我满意.
Muh*_*ser 26
如果是C++,请坚持使用Qt.项目的3D部分可以由Qt的OpenGL小部件处理.选择WPF路径将迫使你在C#或VB.net中做一些部分(总是不好的做法).使用WPF与C++没有太大的好处.此外,您的其余代码是C/C++.适合您的需求.OpenCV,MIL等更容易与Qt集成,而不是使用WPF进行P/Invoke调用(由于.Net编组也会导致延迟).
Dyp*_*ppl 10
如果你已经有一个很大的C++代码库,我会说你应该坚持使用Qt.WPF并不像他们所说的那样令人敬畏,也不像开发那么容易.C++和Qt是一个着名的团队,普通的C++(不是.NET)与WPF不是.
| 归档时间: |
|
| 查看次数: |
43417 次 |
| 最近记录: |