将QT/C++转换为C#

3
这可能有点荒谬,但是你们中的一些人可能已经知道,我正在将一个用C++编写的应用程序转换为C#。
我注意到很多代码使用对“QObject”、“QWidget”或“QFrame”等对象的引用。
因此,我不太确定是否应该查找QT的源代码,并将其基本结构移植到一堆C#类中,这些类基本上模拟相同的功能,或者是否存在任何可以替代它的框架。
此外,有人可以解释一下什么是滑块和插槽以及我如何在C#中模仿它吗?我正在考虑使用委托,但我不确定...

7
所以你要重新实现整个庞大的QT框架,而你似乎对它几乎一无所知?这显然是疯狂的,不是吗? - user2100815
将QT移植到C#...那会很有趣:)))如果他们已经将其移植到JS或Python,为什么不移植到C#呢:))) - Raiv
有QT绑定到.NET - http://en.wikipedia.org/wiki/Qt_(framework)#Use_of_native_UI-rendering_APIs - Oded
嗯...那么他可以使用它们,一切都会更容易。 - Raiv
1
你是将它移植到Windows Forms还是WPF或其他什么地方?我认为它们会有很多相同的概念(例如QWidget = System.Windows.Forms.ControlSystem.Windows.Controls.Control,或者它们的近亲)。我猜你最好的选择是弄清楚当前UI的工作原理,然后在WPF或Forms中重新开发它,并仅移植UI背后的业务逻辑。 - Rup
我会说Windows Forms听起来像是我的最佳选择。我对GUI一无所知,这是我第一个真正的应用程序,而且我现在只学了大约两个月的C#编程。 - zeboidlund
2个回答

2

请查看Qyoto,只需进行少量修改即可轻松应用到您的代码中。


我需要安装Mono和Linux才能使用吗?我喜欢Linux,但是相比于VS(不幸的是),Mono相对较差:我尝试在其中使用我的一个项目文件,结果文件实际上被破坏了。 : / - zeboidlund
1
另一种选择是自己开发类似于Qyoto的东西。相比之下,让构建环境正常工作很容易。 - MSalters

1
Oded推荐的页面还提供了一个qt4dotnet的链接 - 你试过吗?
如果您无法使用这些绑定之一,您可能需要开始调查如何将代码库中的所有Q*引用移植到WinForms、WPF或Silverlight(取决于您的应用程序需求)。

我其实还没有尝试过那个,但我想我最终可能会转移到WinForms或WPF。谢谢。 - zeboidlund

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接