You might want to check the state since you use the state to change the 
anchors. You could add objectName or another property to your state to check 
your condition.

property bool isAnchors: myObj.states.find(function(s){ return s.name == 
myObj.state; }).myPropertyBool;


State

{

  property bool myPropertyBool: true // put true when you need it

}


Not sure if the Anchors is an attachement object, not sure you can probe it 
directly unless you seek into the Object children to find Attachment object of 
any kind, else you might want to check if you can reach the anchors property:
property bool isAnchors: fetchAnchors(myObj)

function fetchAnchors(o)
{
  return o && o.anchors && o.anchors.top;  // anchors cannot be null, only 
undefined, so the if value should work
}

________________________________
From: Interest <interest-bounces+godboutj=amotus...@qt-project.org> on behalf 
of Shawn Rutledge <shawn.rutle...@qt.io>
Sent: April 6, 2018 8:21 AM
To: interest@qt-project.org
Subject: Re: [Interest] How to determine whether QML item is anchored?

But I wanted to query anchors at runtime once too, a few years ago; I think 
I’ve forgotten why.

> On 6 Apr 2018, at 13:58, Mitch Curtis <mitch.cur...@qt.io> wrote:
>
> https://bugreports.qt.io/browse/QTBUG-66264 is semi-related to this, or at 
> least explains why we can’t really return null if they’re not set.
>
> Without having more information about your use case, it seems like quite a 
> corner case.
>
> From: Alexander Ivash [mailto:elder...@gmail.com]
> Sent: Friday, 6 April 2018 1:41 PM
> To: Mitch Curtis <mitch.cur...@qt.io>
> Cc: interest@qt-project.org
> Subject: Re: [Interest] How to determine whether QML item is anchored?
>
> Thanks, I'm aware of this, but this is a bit different.. Would be great to 
> get ability to compare against something like anchors.defaultLeft or 
> anchors.NoAnchor in future.
>
> Sent from Mailspring, the best free email app for work
> On Apr 6 2018, at 2:38 pm, Mitch Curtis <mitch.cur...@qt.io> wrote:
>
> I’m not sure if it helps in your situation, but perhaps you could take a look 
> at AnchorChanges:
>
>
>
> http://doc.qt.io/qt-5/qml-qtquick-anchorchanges.html
>
>
>
> When the item is in an “anchored” state:
>
>
>
>     states: [
>
>         State {
>
>             name: "anchored"
>
>
>
>             AnchorChanges {
>
>                 target: myRect
>
>                 anchors.top: window.top
>
>                 anchors.bottom: window.bottom
>
>             }
>
>             PropertyChanges {
>
>                 target: myRect
>
>                 color: "green"
>
>             }
>
>         },
>
>         State {
>
>             name: "not-anchored"
>
>
>
>             AnchorChanges {
>
>                 target: myRect
>
>                 anchors.top: undefined
>
>                 anchors.bottom: undefined
>
>             }
>
>
>
>             PropertyChanges {
>
>                 target: myRect
>
>                 color: "red"
>
>             }
>
>         }
>
>     ]
>
>
>
> This assumes that you have control over the anchors, though.
>
>
>
> From: Alexander Ivash [mailto:elder...@gmail.com]
> Sent: Friday, 6 April 2018 1:23 PM
> To: Mitch Curtis <mitch.cur...@qt.io>
> Cc: interest@qt-project.org
> Subject: Re: [Interest] How to determine whether QML item is anchored?
>
>
> Let's say I'm trying to make the logic like this: "If parent component is 
> anchored, make a child green, otherwise make it red"
>
>
> Sent from Mailspring, the best free email app for work
> On Apr 6 2018, at 2:20 pm, Mitch Curtis <mitch.cur...@qt.io> wrote:
>
>
> What are you trying to do?
>
>
>
>
>
> From: Interest [mailto:interest-bounces+mitch.curtis=qt...@qt-project.org] On 
> Behalf Of Alexander Ivash
> Sent: Friday, 6 April 2018 11:40 AM
> To: interest@qt-project.org
> Subject: [Interest] How to determine whether QML item is anchored?
>
>
>
> What I'm missing? It seems like even not anchored item has 
> anchors.right/left/top/bottom set, so it is not possible to compare with 
> 'undefined' or something. Of course introducing change handler allows to 
> track moment of anchoring (although still no way to track un-anchoring), but 
> this is a bit ugly and not 'Qt-way'.
>
>
>
> Sent from Mailspring, the best free email app for work
>
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

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

Reply via email to