Eroare cu Layout.aliniere verticală bară în bară verticală .qml fișier

0

Problema

Background: am un proiect la care lucrez va fi o "rulare", proiect care voi fi actualizarea cum am învăța și să crească ca un programator. De când acest proiect va fi în creștere cu mine am vrut să învețe cum de a crea un GUI care poate fi simplu, dar, de asemenea, dă-mi posibilitatea de a personaliza cu adevărat GUI-o dată mă simt confortabil cu ea. După simți copleșit cu opțiuni am aterizat pe PySide6 și QML dar am o problema cu QML fișier.

Tutorial sunt următoarele este Python-QML integrare (https://doc.qt.io/qtforpython/tutorials/qmlintegration/qmlintegration.html) și eu sunt, folosind .py și .qml fișiere legate în partea de jos a pagina de tutorial. Pentru un IDE daca conteaza, eu sunt, folosind Pycharm și au PySide6 pachetul adăugat la proiect precum și QML Editor plug-in.

Problema: problema care o am eu este cu .qml fișier. Pentru unii motiv, nu e recunoscând bara verticală folosit în două-dimensional steag la centrul meu de RowLayout pe verticală și pe orizontală. Când am hover mea cursorul peste bara verticală primesc un sfat spui că unul din mai multe diferite simboluri, cum ar fi virgule, paranteze sau acolade fost de așteptat, dar în schimb a primit '|'.

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)
            }
        }
    }

Mă simt de parcă am verificat peste tot Reddit, stack overflow, documentația pe QT-ul, dar nu pot gasi pe nimeni altcineva care s-a experimentat acest lucru.

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

Cel mai bun răspuns

0

Principala problemă este că stabilirea Qt.AlignVCenter la un copil de un Coloaneaspect nu are sens, deoarece Machete doar onoarea de aliniere perpendiculară pe direcția de aspectul lor. Deci, stabilind o aliniere verticală pe o orientat vertical layout nu va face nimic.

În acest caz, din moment ce te-am simplificat exemplu (în special, toate machetele au doar un copil), nu ai nevoie de orice aspecte de la toate. În schimb, mi-ar converti Coloaneaspect la un Element și apoi ancora Butonul din centru astfel:

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

În alte limbi

Această pagină este în alte limbi

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