Comment charger une méthode lorsque je clique sur un bouton d'une disposition qml à une autre qml? Comme j'ai un bouton editprofile si je clique sur le bouton signifie que je veux montrer les valeurs, ce que j'ai obtenu à partir du webservice comment faire cela? quelqu'un peut-il envoyer une idée? MerciBlackberry 10 cascades qml méthodes
Répondre
vous devez mettre en œuvre cette méthode onCreationCompleted
onCreationCompleted: {
// call the function, that you need to show first
// first_display()
}
Hope this helps !!!.
Si je vous comprends bien, vous voulez effectuer une action lorsque vous cliquez sur un bouton. Pour ce faire, vous pouvez ajouter la méthode onClicked
à votre objet Button
dans QML. Exemple:
Button {
text: "View profile"
onClicked: {
myProfileInfo.visible = true;
}
}
Label {
id: myProfileInfo
text: "This is my profile"
visible: false
}
On dirait que vous essayez de transmettre des données extraites d'un webservice d'une vue QML à l'autre. Un volet de navigation où vous utilisez le createObject()
pour créer un écran d'interface utilisateur à partir d'un fichier .qml et pousser le nouvel écran (page) dans la pile de vue du volet de navigation, avec vos données accessibles à l'interface utilisateur de la page nouvellement créée et visible. une description plus concrète je pense, et un moyen commun de le faire. Pour transmettre vos données, déclarez une propriété sur l'objet racine (Page, Conteneur) de votre page QML 'profileview'. Ensuite, dans votre premier fichier QML dans la fonction onClicked()
de votre bouton, affectez à la variable le résultat de createObject()
dans la définition QML. Vous pouvez ensuite utiliser cette variable pour affecter vos données à la propriété sur la page 'profileview'. Votre bouton ressemblerait à quelque chose comme ceci:
// Assume you have a Navigation Pane called navPane
// You also have to define a component for your QML file
Button {
text: "View profile"
onClicked: {
var profilePage = profileDefinition.createObject();
profilePage.myData = webserviceData;
navPane.push(profilePage);
}
attachedObjects: [
ComponentDefinition {
id: profileDefinition
source: "profilePage.qml"
}
]
}
Un exemple complet plus détaillé basé sur le projet volet de navigation Cascades échantillon est ci-dessous:
main.qml
// Navigation pane project template
import bb.cascades 1.0
NavigationPane {
id: navPane
// This property holds and tracks the created profile page
property Page profilePage
/* This property holds some sample webservice data, in practice
* you would load this from the webservice
*/
property variant webserviceData: {
"name": "John Doe",
"email": "[email protected]",
"twitter": "@johndoe"
}
Page {
// page with a button to display profile
Container {
layout: DockLayout {
}
Label {
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Top
text: webserviceData.name
}
Button {
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
text: qsTr("Show Profile")
onClicked: {
// show detail page when the button is clicked
profilePage = profileDefinition.createObject();
profilePage.myProfileData = webserviceData;
navPane.push(profilePage);
}
attachedObjects: [
ComponentDefinition {
id: profileDefinition
source: "profilePage.qml"
}
]
}
}
}
onPopTransitionEnded: {
// Clean up any pages that have been popped, to avoid memory leaks
if (profilePage == page) {
page.destroy();
}
}
}
profilePage.qml
// Navigation pane project template
import bb.cascades 1.0
Page {
/* Our data property
* Note: A variant is a QVariant Qt type, so it can easily handle different
* data types, in our case it is a map.
* Without the braces to denote that it is an object you will get a TypeError
* from QML at runtime
*/
property variant myProfileData: { /*empty object*/ }
// page with profile details
paneProperties: NavigationPaneProperties {
backButton: ActionItem {
onTriggered: {
// Pop this page off the stack and go back
navPane.pop();
}
}
}
Container {
Label {
text: qsTr("Profile Page")
horizontalAlignment: HorizontalAlignment.Center
textStyle {
base: SystemDefaults.TextStyles.TitleText
color: Color.Blue
}
}
Label {
text: "Name:"
horizontalAlignment: HorizontalAlignment.Left
}
TextField {
text: myProfileData.name
horizontalAlignment: HorizontalAlignment.Center
}
Label {
text: "Email:"
horizontalAlignment: HorizontalAlignment.Left
}
TextField {
text: myProfileData.email
horizontalAlignment: HorizontalAlignment.Center
}
Label {
text: "Twitter:"
horizontalAlignment: HorizontalAlignment.Left
}
TextField {
text: myProfileData.twitter
horizontalAlignment: HorizontalAlignment.Center
}
}
}
Hopefull y qui vous aide à démarrer. En outre, ces exemples de projets sur GitHub peuvent aider:
https://github.com/blackberry/Cascades-Samples/tree/master/quotes
https://github.com/blackberry/Cascades-Samples/tree/master/weatherguesser
- 1. Blackberry-10 Cascades
- 2. Conversion Qbytearray à l'image blackberry 10 cascades
- 3. BlackBerry 10 Cascades: Comment charger des données dans un DropDown?
- 4. Blackberry 10 Cascades: mise textStyle.lineHeight sur les clips d'étiquettes texte
- 5. Avoir un problème avec les mises en page dans Blackberry 10 Cascades, qml (C++ & QT)
- 6. cascades Blackberry ne montre pas le fichier QML avec TabbedPane
- 7. Comment utiliser QSettings dans QML blackberry 10
- 8. Pop toutes les pages sauf la première page BlackBerry 10 Cascades?
- 9. XMLHttpRequest ne fonctionne pas dans QML Blackberry 10
- 10. comment obtenir des données JSON en cascades blackberry
- 11. Fermer Feuille avec le signal de C++ dans Blackberry Cascades
- 12. Anglais et arabe Commutation en Single BB 10 Cascades
- 13. Swaping Listview positions dans BB 10 Cascades
- 14. tableau JSON listview en cascades blackberry
- 15. Comment puis-je ellipsiser un texte dans BB 10 Cascades?
- 16. Fichier .pro dans BlackBerry 10 développement
- 17. BlackBerry 10 Cascades: Comment appeler des contacts avec des champs pré-remplis?
- 18. Ouvrir le fichier provenant d'une demande d'invocation sur Blackberry 10 Cascades
- 19. Insérer les données de la liste à la fin du groupedatamodel dans blackberry 10 cascades?
- 20. Ajouter des éléments à Déroulant bb 10 cascades
- 21. BB Cascades, en passant des données de C à Page1.qml et aussi à Page2.qml
- 22. Portage application iOS sur Blackberry 10
- 23. Blackberry10 cascades
- 24. Blackberry 10 Left Slider
- 25. Popup dans BlackBerry 10
- 26. Blackberry 10 Whitelisting
- 27. Flurry sur Blackberry 10
- 28. Comment puis-je peindre sur un pixel spécifique dans BlackBerry 10, Qt QML Cpp
- 29. Comment configurer la variable de propriété de QML à CPP dans Blackberry 10?
- 30. Cascades BlackBerry pour envoyer des emails sans interaction de l'utilisateur
pouvez-vous être plus précis? Vous n'avez pas compris votre question. –