Error con el Diseño.la alineación vertical de la barra en la barra vertical .archivo qml

0

Pregunta

Antecedentes: tengo un proyecto que estoy trabajando en eso va a ser un "rolling", proyecto que voy a estar actualizando como puedo aprender y crecer como programador. Dado que este proyecto va a ser creciente con la que me quería aprender cómo crear una interfaz gráfica de usuario que pueden ser simples, pero también me da la habilidad de personalizar la interfaz gráfica de usuario una vez que realmente me siento cómodo con él. Después de sentirse abrumado con las opciones que aterrizó en PySide6 y QML, pero estoy con un problema con el archivo QML.

El tutorial que estoy siguiendo es Python-QML (integración dehttps://doc.qt.io/qtforpython/tutorials/qmlintegration/qmlintegration.html) y estoy usando el .py y .qml archivos vinculados en la parte inferior de la página del tutorial. Para una IDE si importa estoy usando Pycharm y han PySide6 paquete añadido para el proyecto, así como la QML Editor de plug-in.

Problema: El problema que estoy teniendo es con el .qml archivo. Por alguna razón, no reconociendo la barra vertical que se utiliza en las dos dimensiones de la bandera en el centro de mi RowLayout verticalmente y horizontalmente. Cuando me pase a mi cursor sobre la barra vertical puedo obtener una sugerencia diciendo que uno de los múltiples símbolos diferentes, como las comas, los paréntesis, llaves se esperaba, pero en lugar de got '|'.

ColumnLayout {
    id: rightcolumn
    spacing: 2
    Layout.columnSpan: 1
    Layout.preferredWidth: 400
    Layout.preferredHeight: 400
    Layout.fillWidth: true

    RowLayout {
        Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter

        Button {
            id: red
            text: "Red"
            highlighted: true
            Material.accent: Material.Red
            onClicked: {
                leftlabel.color = bridge.getColor(red.text)
            }
        }
    }

Me siento como he comprobado en todas partes de Reddit, desbordamiento de la pila, la documentación sobre el QT sitio, pero no puede encontrar a nadie que se experimenta esto.

qml qt
2021-11-21 02:11:10
1

Mejor respuesta

0

El principal problema es que la configuración de Qt.AlignVCenter en un niño de un ColumnLayout no tiene sentido puesto que los Diseños de honor sólo alineación ortogonal a la dirección de su diseño. Así, con el ajuste de la alineación vertical en un verticalmente diseño orientado a no hacer nada.

En este caso, ya que usted ha simplificado el ejemplo (en particular, todos sus diseños sólo tienen un hijo), usted realmente no necesita ninguna presentación en absoluto. En su lugar, me gustaría convertir el ColumnLayout a un Elemento y, a continuación, ancla el Botón en el centro de esta forma:

Item {
    id: rightcolumn

    Layout.columnSpan: 1
    Layout.preferredWidth: 400
    Layout.preferredHeight: 400
    Layout.fillWidth: true

    Button {
        id: red
        anchors.centerIn: parent
        text: "Red"
        highlighted: true
        Material.accent: Material.Red
        onClicked: {
            leftlabel.color = bridge.getColor(red.text)
        }
    }
}
2021-11-22 16:03:02

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................