【发布时间】:2017-03-14 10:08:27
【问题描述】:
我正在编写一个应该集成到 .Net 应用程序的 Qt 小部件。 我使用this 文章为 WPF 编写了一个包装类。 我面临的问题是小部件没有占用分配给它的整个空间。它在附加的图像上很容易看到。
我想知道这个问题是否有一个简单的解决方案,不涉及使用 COM/ActiveX,因为我想让我的类在 .Net 中很容易看到?
【问题讨论】:
-
您关注的文章通过本机窗口等提供了一条不必要的迂回路线。这是一个性能杀手,不需要。 Qt 可以将您的小部件呈现为
QImage,您只需将其连接到 WPF 控件中即可;同样,您可以翻译 WPF 控件中的事件并将它们传递给您的QWidget。 -
@Kuba 很有趣,但这种方法似乎也很间接。
-
这并不是所有的间接,内部 WPF 或多或少地做同样的事情。现代 UI 几乎渲染为位图,并使用 CPU 或 GPU 合成位图和一些几何图形...
-
@Kuba 实际上在我的情况下它会执行得更慢,因为正如我在对 Elmar 的评论中提到的,我需要 Qt 数据可视化模块,而该模块又使用 OpenGL。并且对于 OpenGL(以及其他图形库)渲染到纹理比渲染到屏幕要慢。