Ubuntu SDK QML como alterar a cor de fundo do TextField

4

Eu tenho uma situação em que a cor de fundo do meu aplicativo QML MainView faz com que a entrada do campo de texto tenha letras cinzas em fundo marrom igualmente escuro. Isso torna quase impossível ler qual texto foi inserido no campo de texto.

Ao digitar o texto, tudo fica bem porque o fundo fica branco e o texto escuro agora está visível, mas quando um texfield não está selecionado, o texto fica ilegível.

Existe uma maneira de alterar a cor de fundo de um campo de texto? Já tentei alterar a cor do texto e funciona quando não estou digitando texto, mas assim que clico no campo de texto para inserir texto não consigo mais ler porque a cor de fundo do campo de texto fica branca e a cor do texto também muito leve.

Alguém tem uma solução para esse problema que poderia sugerir?

Obrigado

    
por Randy_O 05.05.2014 / 19:17

1 resposta

6

O Ubuntu SDK vem com seu próprio elemento TextField com estilo. No fundo escuro, você pode usar a versão padrão do Qt importando QtQuick.Controls (14.04 apenas). Ele sempre renderizará um plano de fundo branco, mas também pode ser estilizado com TextFieldStyle :

import QtQuick 2.0
import Ubuntu.Components 0.1
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1

MainView {
    width: 400
    height: 300
    backgroundColor: "black"

    Column {
        spacing: units.gu(2)
        anchors.centerIn: parent
        TextField {
            placeholderText: "ask"
        }
        TextField {
            placeholderText: "Enter text"
            text: "ubuntu"
            style: TextFieldStyle {
                textColor: "black"
                background: Rectangle {
                    radius: 5
                    color: "gold"
                    implicitWidth: 100
                    implicitHeight: 24
                    border.color: "#333"
                    border.width: 1
                }
            }
        }
    }
}

Será parecido com a imagem abaixo:

Fonte: link

    
por Sylvain Pineau 06.05.2014 / 13:52