Błąd z układem.wyrównanie pionowe paski w pliku vertical bar .qml

0

Pytanie

Fabuła: mam uboczny projekt, nad którym pracuję, to będzie "przesuwne" projekt, który będę aktualizować w miarę tego, jak będę się uczyć i rozwijać się jako programista. Ponieważ projekt ten będzie rozwijać się razem ze mną, chciałem dowiedzieć się, jak stworzyć graficzny interfejs, który może być proste, ale daje mi również możliwość naprawdę dostosować interfejs graficzny, jak tylko jestem naprawdę poczuję się komfortowo z nim. Po tym, jak czułem się przeciążony opcji, zatrzymałem się na PySide6 i QML, ale mam problem z plikiem QML.

Poradnik, który śledzę, to integracja Pythona i QML (https://doc.qt.io/qtforpython/tutorials/qmlintegration/qmlintegration.html) i używam plików .py i .qml, związane w dolnej części strony podręcznika. Dla IDE, jeśli to ma znaczenie, używam Pycharm, i do projektu dodano pakiet PySide6, a także wtyczki edytora QML.

Problem: Problem, z którym spotykam, jest związana z przedłużeniem .plik qml. Z jakiegoś powodu nie rozpoznaje pionowego paska używanego w trybie dwu fladze dla otworu centrujacego mojej znaczników w pionie i w poziomie. Kiedy zatrzymałem kursor na pionowy pasek, pojawia się podpowiedź o tym, co zapowiadało się na jedną z kilku różnych znaków, takich jak przecinki, nawiasy lub nawiasy klamrowe, ale zamiast tego otrzymał"|".

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

Czuję, że sprawdzałem wszędzie Reddit, przepełnienie stosu, dokumentację na stronie QT, ale nie mogę znaleźć nikogo, kto przeżywa to.

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

Najlepsza odpowiedź

0

Główny problem polega na tym, że konfiguracja Qt.AlignVCenter w elemencie potomnym kolumny wniosek nie ma sensu, tak jak układy wykonują wyrównanie tylko prostopadle do kierunku ich lokalizacji. W ten sposób, instalacja pionowego wyrównania w pionie zwyciężając w układzie nic nie da.

W tym przypadku, ponieważ uproszczony przykład (w szczególności u wszystkich układów jest tylko jeden element podrzędny), w ogóle nie są potrzebne żadne układy. Zamiast tego bym zamienił Grupakolumny w element, a następnie umieścił przycisk w jego centrum w następujący sposób:

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

W innych językach

Ta strona jest w innych językach

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