I've actually found a "good practice" for this problem on QML example : use Action items.
For instance :
FileDialog {
id: openDialog
onAccepted: myData.source= fileUrl
}
Action {
id: openFile
iconSource: "images/fileopen.png"
text: "Open"
onTriggered: openDialog.open()
}
menuBar: MenuBar {
Menu {
MenuItem { action : openFile }
// ....
toolBar : ToolBar {
ToolButton { action:openFile}