[Qt-interest] QML: MouseArea and Row/Column

Christian Rüb christian.rueb at gmx.net
Mon Mar 14 21:30:55 CET 2011


Thanks, that would do.

sarvesh saran wrote:
> Hi,
> 
> You may try to put the row inside a rectangle and set a mouse area to the
> rectangle. It all depends on how you'd like your row to react.
> 
> thanks,
> Sarvesh
> 
> On Sun, Mar 13, 2011 at 9:21 PM, Christian Rüb <christian.rueb at gmx.net>wrote:
> 
> > Hi Sarvesh,
> >
> > thanks for your idea but the repeater would just copy a list if I see that
> > right. I already have a list and a delegate.
> > It's just that I packed each row in the list into a QML "Row" consisting of
> > an Image and  a column of 2 Text(s) and I want that whole Row to react on
> > clicks:
> >
> >                ListView {
> >                        model: ...
> >                        delegate: Row {
> >                                Image {}
> >                                Column {
> >                                        Text {}
> >                                        Text {}
> >                                }
> >                                MouseArea {
> >                                        id: mouseArea
> >                                        anchors.fill: parent
> >                                        onClicked:      {
> >                                        }
> >                                }
> >                        }
> >                }
> >
> > I can get around the warnings by not use Row and Column at all but arrange
> > all items only by x/y within an Item. But what would a Column/Row be for
> > then?
> >
> > Cheers,
> >  Christian
> >
> >
> > sarvesh saran wrote:
> > > Hi,
> > >
> > > try using a repeater with a model and a delegate...let the delegate have
> > a
> > > mouse area.
> > >
> > >
> > >    1. Repeater {
> > >    2. model: dummyModel
> > >    3. delegate: myDelegate
> > >    4. }
> > >    5.
> > >    6. Component {
> > >    7. id: myDelegate
> > >    8. Rectangle {
> > >    9. x: 10
> > >    10. y: index*35+10
> > >    11. width: 200
> > >    12. height: 30
> > >    13. color: "yellow"
> > >    14. TextEdit {
> > >    15. text: title
> > >    16. font.pointSize: 18
> > >    17. }
> > >    18. MouseArea {
> > >    19. anchors.fill: parent
> > >    20. onClicked: {
> > >    21. console.log("Clicked index:",index);
> > >    22. title="test"
> > >    23. }
> > >    24. }
> > >    25. }
> > >
> > >
> > > thanks,
> > > Sarvesh
> > >
> > >
> > > On Sat, Mar 12, 2011 at 6:51 PM, Christian Rüb <christian.rueb at gmx.net
> > >wrote:
> > >
> > > > Hi,
> > > >
> > > > experimenting with QML I came across the follwing:
> > > >
> > > > Defining a MouseArea for an element within a Row results in a warning:
> > > > "QML Row: Cannot specify left, right, horizontalCenter, fill or
> > centerIn
> > > > anchors for items inside Row"
> > > >
> > > > How should it be done else? I want all items in the Row to react on the
> > > > click...
> > > >
> > > > code snippet:
> > > >
> > > > Row {
> > > > ...
> > > >        MouseArea {
> > > >                anchors.fill: parent
> > > >                onClicked: {
> > > > ...
> > > >
> > > > Also, is this the right place to ask about QML questions? I have some
> > more
> > > > ;-)
> > > >
> > > > Cheers,
> > > >  Christian
> > > > _______________________________________________
> > > > Qt-interest mailing list
> > > > Qt-interest at qt.nokia.com
> > > > http://lists.qt.nokia.com/mailman/listinfo/qt-interest
> > > >
> > >
> >
> 



More information about the Qt-interest-old mailing list