es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo pasar dos argumentos al separador de AppListView.

Me gustaría mostrar AppListView con separadores de delegados personalizados. Los separadores deben tener 2 propiedades: un color definido como una cadena y un texto también definido como una cadena, ambos provenientes de mi modelo como roles y siempre vienen en pares, por ejemplo:

  • si el color es #b3b3b3 el texto siempre es AA,
  • si el color es #eeeeee el texto siempre es BB.

No encuentro ninguna opción para pasar dos argumentos a mi sección, de modo que pueda hacer que tanto el color como el texto se muestren en mi separador.

Para aquellos que prefieren el código:

qml
AppListView {
id: list
section {
property: “separatorTextRole” /* aquí establezco mi primer rol para ser la propiedad del separador /
criteria: ViewSection.FullString
delegate: CustomSeparatorDelegate {
itemColor: /
¿cómo puedo pasar también mi separatorColorRole aquí? /
itemText: section /
aquí accedo a mi separatorTextRole */
}
}
delegate: CustomListDelegate {
text: nameRole
row: rowRole
value: valueRole
}
}

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para mostrar AppListView con separadores de delegados personalizados que tienen dos propiedades (color y texto), puedes usar la propiedad sectionDelegate de AppListView. Aquí hay un ejemplo de código que puedes utilizar:

    AppListView {
        id: list
    
        sectionDelegate: CustomSeparatorDelegate {
            itemColor: currentSection.separatorColorRole
            itemText: currentSection.separatorTextRole
        }
    
        delegate: CustomListDelegate {
            text: nameRole
            row: rowRole
            value: valueRole
        }
    }
    

    En este código, sectionDelegate se establece como un delegado personalizado que tiene dos propiedades: itemColor e itemText. itemColor se establece como la propiedad separatorColorRole de la sección actual, mientras que itemText se establece como la propiedad separatorTextRole de la sección actual.

    Ten en cuenta que currentSection es una propiedad de AppListView que representa la sección actual que se está representando. Puedes acceder a sus propiedades para establecer los valores de las propiedades de tu delegado de separador personalizado.

    Además, asegúrate de haber establecido los roles separatorTextRole y separatorColorRole en tu modelo para que correspondan a los valores de texto y color de tus separadores.

Comments are closed.