Change the properties of qml with cpp in run*time
-
I can't read your mind! Which error??? Something about QDebug? Add #include <QDebug>
-
emit this->fullname_changed(this->fname);
This is giving an error
-
Which error???
-
expected token ; got this-> i tried several things but not workin
-
Can you just copy the whole error here?
Delete "this->" or delete whole emit statement it is not relevant in this example.... -
Can u help me with this example. I understand this better.
.qml file
@Rectangle {
id:rect1
signal dataRequired;
signal onchangecolor;
width:250
height:250function updateData(text) { dataText.text = text} // slot function updatecolor(color){rect1.color="red"} anchors.fill: parent; color: "black" Text { id: dataText anchors.centerIn: parent; color: "white" } MouseArea { anchors.fill: parent onClicked:[ dataRequired(), onchangecolor()] }
}@
-
@#include <QApplication>
#include <QGraphicsObject>
#include <QDeclarativeView>
#include "MyClass.h"int main(int argc, char *argv[])
{
QApplication app(argc, argv);MyClass myClass; QDeclarativeView view; view.setSource(QUrl("MyItem.qml")); view.show(); view.setResizeMode(QDeclarativeView::SizeRootObjectToView); QObject *rootObject = dynamic_cast<QObject*>(view.rootObject());
QObject::connect(rootObject, SIGNAL(dataRequired()), &myClass, SLOT(getData()));
QObject::connect(&myClass, SIGNAL(data(QVariant)), rootObject, SLOT(updateData(QVariant)));return app.exec();
}
@ -
@#ifndef MYCLASS_H
#define MYCLASS_H#include <QObject>
#include <QVariant>class MyClass : public QObject
{
Q_OBJECTpublic:
MyClass() {}public slots:
void getData() {
QString nm("Hello");
emit data(QVariant(nm));
}signals:
void data(QVariant data);};
#endif // MYCLASS_H
@ -
@Acerextensa: I want to change the color of the rectange using signals and slots cud u help me with the code or an idea. I tried this but could not understandt the concept. Thanks a ton for the help..:) I added the signal oncolorchange
-
Pack your project in archive and load somewhere on the web. Don't forget to post the link.
-
-
You have already done signal/slot connection for text in your code. Which concept do you not understand?
"binding.zip":http://vip2006.net/binding.zip
-
I know, that was an example. what should I do if i have to change the color of rectangle rect1, how should the property, function and signal be defined. say I want to change rect1 to yellow.
-
Why can't you just read links I've posted for you?
Examples there, is exactly what you are asking here!bq. The child could be located like this:
@ QObject rect = object->findChild<QObject>("rect");
if (rect)
rect->setProperty("color", "red");@Just change the name of object in findChild function from "rect" to "rect1" that's all. Please read it! I would not help you anymore if you will ask question which already explained in examples from tutorials again... Sorry...