我有一个来自修改后的弹性节点示例的自定义小部件。它继承自 QGraphicsView。在示例中,它被设置为主窗口中的中央小部件,因此无法添加任何内容。以下是示例中 main 的代码:
#include "graphwidget.h"
#include <QApplication>
#include <QTime>
#include "mainwindow.h"
int main(int argc, char **argv)
{
QApplication app(argc, argv);
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
GraphWidget *widget = new GraphWidget;
QMainWindow window;
window.setCentralWidget(widget);
window.show();
return app.exec();
}
我想将小部件添加到 ui 窗体,以便我可以添加一些按钮和输入。我怎样才能做到这一点?
最佳答案
您现在正在做的是申请。
如果您想在 Qt 中制作自定义小部件,您需要将其构建为自定义设计器小部件 - 一个插件(作为 Dll)。
在 Qt creator 中选择 OtherProject=>Qt Custom Designer Widget 并创建一个项目。您需要构建为发布版本,而不是调试版本。
构建完成后,如果Qt还没有,需要将.dll
文件复制到Qt/plugins/designer
和Qt/Tools/QtCreator/bin/plugins
- 你会在那里找到 .dll。您还需要使用工具链构建插件,因为 Qt 创建者/设计者是 VisualStudio 2013 64 位或 Mingw - 必须相同。
这并不容易,但我祝你好运。
关于c++ - QT 5 给设计器添加继承自QGraphicsView的自定义widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30415138/