Pergunta

Alguém tem experiência na construção de um estilo personalizado no Qt?O que tenho em mente é um estilo completamente novo que afeta todos os tipos de widgets.Vi alguns exemplos na web de uma caixa de combinação personalizada.Mas não tenho ideia de quanto tempo e código são necessários para construir um novo estilo personalizado "completo"...talvez alguém possa me dar uma dica.

Pensamos em usar o Qt 4.3 (ou até mais recente)...

Foi útil?

Solução

Desenvolvi um "novo" estilo que mudou a aparência de grande parte de um aplicativo.Demorou algum tempo e um pouco de experimentação.Eu também derivei meu estilo do estilo genérico do Windows, para permitir que ele lidasse com algumas das coisas que eu não queria mexer.Ao todo, acho que demorei uma semana para conseguir a maior parte do que queria, praticamente sem nenhuma exposição prévia aos estilos.

Para realmente desenvolver um, eu procuraria a fonte de seus exemplo de estilos, que tem um estilo "madeira".Coloquei meu próprio estilo no lugar do estilo de exemplo e comecei a mudar as coisas enquanto usava o programa de exemplo para verificar sua aparência.Dependendo de como você está desenvolvendo, você pode querer ter um arquivo de configuração para poder alterar facilmente alguns dos valores sem recompilar.

Outras dicas

Confira a Folhas de estilo instalação no Qt 4.Embora ainda seja um incômodo, é muito mais fácil do que fazer um estilo totalmente personalizado.Você pode apenas ajustar uma faceta visual de cada vez e experimentar.

Ele presta atenção à herança.Portanto, se você estilizar a fonte no QWidget, todos os widgets visuais também usarão essa fonte.E assim por diante.

Você pode querer dar uma olhada nos estilos existentes.Você pode encontrar alguns deles em kde-look.org, na seção Estilos / seção 4.0.

Já fizemos isso no passado (no Qt 3) e é extremamente demorado.Tivemos muitos problemas com oscilações, redesenhos que não funcionavam da maneira que esperávamos, comportamento lento, bugs na implementação do Qt.É muito menos simples do que parece e também há pouco suporte ou experiência do usuário.A menos que você precise de algo realmente específico (como nós), eu diria que não vale a pena.

Supõe-se que outras estruturas tornem isso mais fácil (algumas baseadas em Java?), mas não tenho experiência em primeira mão.

Se você não precisa alterar radicalmente o estilo do widget, você pode tentar usar folhas de estilo de widget:

         http://doc.qt.digia.com/4.4/stylesheet.html
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top