Quantcast
Channel: Qt DevNet forums: Qt Quick 1283365070**
Viewing all articles
Browse latest Browse all 4972

problem adding a custom control Quick

$
0
0
I’m trying to add a simple custom control using one of the code examples; but I must be doing something wrong when trying to adding it to a QtQuickControls based QML . Output from running the app: QQmlApplicationEngine failed to load component qrc:/main.qml:78 Cannot assign to non-existent property “quickPluginCtrl” Error: Your root item has to be a Window. The qml editor kicks this out: Invalid property name Here is the code main.cpp: #include <QtQml> #include <QtQuick/QQuickView> #include <QtCore/QString>     #include <QtGui/QGuiApplication> #include "quickpluginctrl.h"   int main(int argc, char *argv[]) {     QGuiApplication app(argc, argv);       qmlRegisterType<quickPluginCtrl>("Charts", 1, 0, "quickPluginCtrl");         QQmlApplicationEngine engine(QUrl("qrc:/main.qml"));     QObject *topLevel = engine.rootObjects().value(0);     QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);     if ( !window ) {         qWarning("Error: Your root item has to be a Window.");         return -1;     }     window->show();     return app.exec(); } quickpluginctrl.cpp #include "quickpluginctrl.h"   quickPluginCtrl::quickPluginCtrl(QQuickItem *parent) :     QQuickItem(parent) { } file quickpluginctrl.h #ifndef QUICKPLUGINCTRL_H #define QUICKPLUGINCTRL_H   #include <QQuickItem>   class quickPluginCtrl : public QQuickItem {     Q_OBJECT public:     explicit quickPluginCtrl(QQuickItem *parent = 0);   signals:   public slots:   };   #endif // QUICKPLUGINCTRL_H main.qml import QtQuick 2.1 import QtQuick.Controls 1.0 import QtQuick.Layouts 1.0 import Charts 1.0     ApplicationWindow {     title: "Basic layouts"     property int margin: 11     width: mainLayout.implicitWidth + 2 * margin     height: mainLayout.implicitHeight + 2 * margin     minimumWidth: mainLayout.Layout.minimumWidth + 2 * margin     minimumHeight: mainLayout.Layout.minimumHeight + 2 * margin       ColumnLayout {         id: mainLayout         anchors.fill: parent         anchors.margins: margin         GroupBox {             id: rowBox             title: "Row layout"             Layout.fillWidth: true               RowLayout {                 id: rowLayout                 anchors.fill: parent                 TextField {                     placeholderText: "This wants to grow horizontally"                     Layout.fillWidth: true                 }                 Button {                     text: "Button"                 }             }         }           GroupBox {             id: gridBox             title: "Grid layout"             Layout.fillWidth: true               GridLayout {                 id: gridLayout                 rows: 3                 flow: GridLayout.TopToBottom                 anchors.fill: parent                   Label { text: "Line 1" }                 Label { text: "Line 2" }                 Label { text: "Line 3" }                   TextField { }                 TextField { }                 TextField { }                   TextArea {                     text: "This widget spans over three rows in the GridLayout.\n"                         + "All items in the GridLayout are implicitly positioned from top to bottom."                     Layout.rowSpan: 3                     Layout.fillHeight: true                     Layout.fillWidth: true                 }             }         }         TextArea {             id: t3             text: "This fills the whole cell"             Layout.minimumHeight: 30             Layout.fillHeight: true             Layout.fillWidth: true         }         Item {             id:tim             Layout.minimumHeight: 150             Layout.fillHeight: true             Layout.fillWidth: true               quickPluginCtrl             {                 width: 100                 height: 100;                 id: ctrl             }               Text {                 anchors { bottom: parent.bottom; horizontalCenter: parent.horizontalCenter; bottomMargin: 20 }                 text: "timmm"             }         }           ProgressBar {             id: progress_bar1             x: 106             y: 356         }           Slider {             id: slider__horizontal_1             x: 106             y: 385         }     } }

Viewing all articles
Browse latest Browse all 4972

Trending Articles