Pergunta

Como o janelamento trabalho em qt incorporado, onde Qt está atraindo diretamente para um framebuffer em vez de através de um sistema de janelas em separado? Posso executar vários programas ao mesmo tempo? Faço para obter a composição e o pequeno botão [x], maximizando e assim por diante?

Foi útil?

Solução

Você precisa executar um aplicativo como o servidor para fornecer instalações de gestão de janela; por exemplo, passando a opção -qws na linha de comando quando você executá-lo.

Todos os outros aplicativos são executados como clientes. Veja esta página para mais detalhes:

http://doc.qt.digia.com/4.5 /qt-embedded-running.html

Outras dicas

Que parte de como ele funciona você está perguntando? Se você quiser uma visão geral básica, pense nisso como uma espécie de servidor X-windows no Linux, onde o framebuffer desenha a fronteira, decorações, etc., apenas as bibliotecas Qt são compilados para um trabalho mais diretamente com o framebuffer do que com servidores do X-Windows. Vários aspectos do framebuffer pode ser substituído por um programa, bem como, em vez de precisar ser alterado pelo servidor janela. No entanto, para a maioria de seu trabalho UI com Qt, você estaria usando as exatas algumas classes (QDialog, etc.) que você faria em uma versão desktop regular. Eles são apenas atraídos por uma camada subjacente diferente.

A partir da documentação Qt:

A Qt para aplicação Embedded Linux requer um aplicativo de servidor estar em execução, ou para ser o próprio aplicativo de servidor. Qualquer Qt para aplicação Embedded Linux pode ser a aplicação servidor construir o objeto QApplication com o QApplication :: GuiServer tipo, ou executando o aplicativo com a opção de linha de comando -qws.

Então você pode passar QApplication::GuiServer como o terceiro parâmetro para o construtor QApplication ter um servidor:

QApplication app( argc, argv, QApplication::GuiServer );

Ou argumento -qws passe para aplicativo para executá-lo como servidor:

./MyApp -qws

Outras aplicações deve ser executado como clientes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top