【发布时间】:2015-07-22 08:49:40
【问题描述】:
我有一个外部库,其中包括一个来自 QGLWidget 的派生类,与 here 非常相似。在那个库中,我有一个类:
class PictureGLWidget : public QGLWidget { //.. }
这扩展了 Qt 的原生 QGLWidget 并对其进行了个性化。但它不是我写的,我只是通过 *.dll 得到的。然后,我在代码中手动将该小部件绑定到如下布局:
QGridLayout* layout = new QGridLayout;
layout->addWidget(myPictureGLWidget, 0, 1);
ui->verticalLayout_5->addLayout(layout);
由于我使用集成的 QtDesigner 设计了 MainWindowWidget,顺便说一句非常舒服,我想在 QtDesigner 中处理我的 myPictureGLWidget,因为我目前正在重新设计 MainWindow。
有没有办法做到这一点?提前谢谢!
【问题讨论】:
-
您肯定使用设计器来创建您要添加的小部件
-
@AngryDuck 不,我添加的小部件不是我写的。我得到它是一个 *.dll。
-
作为 dll 的小部件...我假设您的意思是您使用的库包含一个小部件,这是您在代码中获取的实例然后添加到您的布局中...如果这个是这种情况,那么我不知道您将如何将其导入设计器,我已经使用自己的 lib 东西完成了此操作,但需要在 VS2012 中编译,然后作为 qt 设计器插件导入我假设您使用的 lib 不会编译设计师插件会理解的一种方式:/
-
@Angryduck 确切地说:(当我有源代码时,只有 (*.cpp & *.h) 没有任何 QtDesginer *.ui ,那么我可以在 QtDesigner 中使用它吗?
-
如果整个 ui 只是用 cpp 和 h 文件的代码创建的,那么我当然不知道如何在设计器中打开,我的直觉是它无法完成,但不要拿我的工作去做,为什么不只是在代码中编辑它?
标签: qt qt5 qwidget qt5.4 qlayout