[Solved]Something really strange while trying to navigate in Grid
-
@Zubalama Maybe due to spacing the items are not found correctly.
I made a similar code for testing. See if this is what you are trying to do:Grid { id: grid focus: true columns: 6 spacing: 5 Rectangle { color: focus ? "red" : "yellow"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "green"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "blue"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "cyan"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "magenta"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "pink"; width: 50; height: 50 } property int index: 0 Keys.onPressed: { if(event.key===Qt.Key_Right){ grid.childAt((index++)*55,0).focus=true } } }
-
@p3c0 you have only horizontal I have vertical and horizontal probably that's why?
-
@Zubalama Well then,
Grid { id: grid focus: true columns: 3 rows: 3 spacing: 5 Rectangle { color: focus ? "red" : "yellow"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "green"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "blue"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "cyan"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "magenta"; width: 50; height: 50 } Rectangle { color: focus ? "red" : "pink"; width: 50; height: 50 } property int xindex: -1 property int yindex: 0 Keys.onPressed: { if(event.key===Qt.Key_Right) { grid.childAt((++xindex)*55,yindex*55).focus=true } else if(event.key===Qt.Key_Down) { grid.childAt(xindex*55,(++yindex)*55).focus=true } } }
You can just change logic as per your need.
-
I think you don't understand what's my problem I have 10 columns and 5 rows and they don't act the way they should not with spacing not even without. At first 20 navigation acts they they do well but after that they act more then strangely
-
-
@p3c0 no I had just Grid gonna try GridView now
-
@p3c0 I just realized that they begin acting strangely after focusing grid element for second time
-
I realized now :/ I did +=that ruined it I should've done just +65 everything works properly now ty P3Co
-
@Zubalama Good that you found it. Doesn't
GridView
fit in your scenario ? -
@p3c0 it does yet I wanted to fix the problem I personally faced thanks for an advice