gpt4 book ai didi

c++ - 没有子类化的 QOpenGLWidget

转载 作者:行者123 更新时间:2023-11-30 05:23:21 25 4
gpt4 key购买 nike

我只是想知道 Qt 上的 QOpenGLWidget(我使用的是 5.4 版)是否可以在没有子类化的情况下使用。

在 Qt Creator 表单编辑器中,有一个 Display 小部件可以插入到名为“OpenGL Widget”的表单中。该小部件在插入时显示为黑色,是 QOpenGLWidget 对象。编译不会抛出错误,例如必须实现 initializedGL() 虚函数。

可用的 Qt 帮助和示例仅显示如何通过子类化此对象来使用它。这种做法违背了在工具栏上插入可插入对象的目​​的,所以我想也许有办法。

我注意到小部件具有诸如 makeCurrent() 之类的函数,我认为这些函数可能很有用。

谢谢

最佳答案

This kind of defeats the purpose of having an insertable object on the toolbar so I thought perhaps there could be a way.

您必须子类化,但您还希望 .ui 文件使用正确派生类的小部件,而不是基类的小部件。

有两种方法:

  1. 插入基类小部件。那么promote it到派生类。您也可以通过 editing the .ui file 手动完成.

  2. 制作 custom widget Designer plugin为你的类(class)。请注意,此插件(和小部件!)必须使用与编译 Qt Creator 本身相同的 Qt 版本/配置进行编译,因此在大多数情况下,您必须先编译 Qt Creator 本身。

如果您认真对待 Qt 开发,您可能拥有自己的 Designer 和 Creator 插件,并且您将自己构建 Creator 以及 Qt。

关于c++ - 没有子类化的 QOpenGLWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39238067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com