Re: [Interest] Is there any way to find QML object by id?

2014-05-22 Thread Tomasz Siekierda
On 22 May 2014 00:07, Alexander Ivash elder...@gmail.com wrote:
 Use-case: Let's say I want to customize ComboBox's TextInput control which
 is not exposed via ComboBox API.

There is some private API for that, but (unless something changed
recently) no official way to search by IDs. What I do in my code is
assign the objects an objectName, then you can find objects by that
property (QObject::findChildren()).
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Is there any way to find QML object by id?

2014-05-22 Thread Tony Rietwyk

  Thats exactly what I would also do if it would be my component, but
  unfortunately I don't have an access to TextInput { id: input } which
  is inside the ComboBox.
 
 But you are able to assign the ID or is it built-in? I don't get the
problem,
 although I have not used the ComboBox, so maybe that is the reason. All
 (most :-P) QML elements derive from QtObject, so you can assign
 objectName easily to them.

Hi Tomasz, 

For the specific use case, I think the OP is asking for the QML equivalent
of QComboBox.lineEdit().   

In C++, by inspecting the Qt sources, you can often code for a specific
internal private objectName or class type to use with QObject.findChildren,
or in your css, since that QObject information is public anyway.  Needless
to say, this is just a version specific HACK and should be flagged and
commented as such! 

Alexander, do you have another use case in mind?  It might clarify your
requirement.  (I haven't played with QML yet but I thought all QObject info
is exposed to javascript and the components anyway - isn't that how the
linkage is achieved?)

Regards, 

Tony


___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Is there any way to find QML object by id?

2014-05-22 Thread Tomasz Siekierda
On 22 May 2014 12:01, Tony Rietwyk t...@rightsoft.com.au wrote:

  Thats exactly what I would also do if it would be my component, but
  unfortunately I don't have an access to TextInput { id: input } which
  is inside the ComboBox.

 But you are able to assign the ID or is it built-in? I don't get the
 problem,
 although I have not used the ComboBox, so maybe that is the reason. All
 (most :-P) QML elements derive from QtObject, so you can assign
 objectName easily to them.

 Hi Tomasz,

 For the specific use case, I think the OP is asking for the QML equivalent
 of QComboBox.lineEdit().

Yes, he explained that to me in a different email already.

 Alexander, do you have another use case in mind?  It might clarify your
 requirement.  (I haven't played with QML yet but I thought all QObject info
 is exposed to javascript and the components anyway - isn't that how the
 linkage is achieved?)

IDs are a very special case, because they are only exposed locally and
are invisible to C++.
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest