QT 5将从QGraphicsView继承的自定义小部件添加到设计器

时间:2015-05-23 16:41:08

标签: c++ qt qwidget qgraphicsview

我有一个来自修改后的弹性节点示例的自定义小部件。它继承自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表单,以便我可以添加一些按钮和输入。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

您现在正在做的是申请。

如果你想在Qt中创建一个自定义小部件,你需要将它构建为Custom Designer Widget - 一个插件(如Dll)。

在Qt创建者中选择 OtherProject =&gt; Qt Custom Designer Widget 并创建一个项目。您需要构建Release版本,而不是调试版本。

构建完成后,如果Qt还没有,您需要将.dll文件复制到Qt/plugins/designerQt/Tools/QtCreator/bin/plugins - 您会在那里找到.dll。您还需要使用工具链构建插件,因为Qt创建者/设计者即VisualStudio 2013 64bit或Mingw - 必须是相同的。

这并不容易,但我祝你好运。

答案 1 :(得分:1)

更简单的方法是在ui表单中添加QGraphicsView并将其提升为GraphWidget类。