Wenn ich enabled
Eigenschaft auf einem ComboBox
zum Beispiel, dann wird es "ausgegraut". Soweit ich das beurteilen kann, zeichnet er eine Ebene über der Komponente mit einer gewissen Deckkraft, so dass das ursprüngliche Design sichtbar ist, aber leicht verblasst. Wie kann ich diesen Effekt optimieren?So passen Sie einen QtQuick 2-Komponentenstil an, während enable ist false
Ich habe versucht, die Hintergrundfarbe meiner Komponenten basierend auf dem Zustand der enabled
-Eigenschaft zu ändern, aber das hat nicht geholfen. Zum Beispiel habe ich meine Hintergrundfarbe auf Rot gesetzt, als die enabled
Eigenschaft falsch war, aber sie wurde nicht rot, sondern wurde aufgrund der Überlagerung, die ich oben beschrieben hatte, eher wie ein helles Rot.
Ein einfaches Codebeispiel:
ComboBox {
id: control
enabled: false
model: ["First", "Second", "Third"]
background: Rectangle {
color: control.enabled ? "transparent" : "red"
}
}
Welche Qt-Version verwenden Sie? Ich glaube, das wurde in Qt 5.7.1 behoben. – jpnurmi
Dieses spezielle Commit, das bei Qt 5.7.1 gelandet ist, hat die Opazitätsaussage vom Wurzelelement des Controls in die Bausteine verschoben. Wenn Sie nun den Hintergrund ersetzen, haben Sie die volle Kontrolle über seine Opazität: http: //code.qt .io/cgit/qt/qtquickcontrols2.git/commit/src/Importe/Kontrollen/ComboBox.qml? id = f6acc98f3a96ab6cafedfe2a3f097a1974abad16 – jpnurmi
PS. Der Name der Eigenschaft ist 'enabled'. – jpnurmi