Qt Introdução --- QPA (Qt Platform abstração)

fonte

Qt é uma biblioteca multi-plataforma (que foi declarada "Qt em todo lugar"), mas não multi-plataforma do Qt subjacente.

Por exemplo: no classes principais membro QWidget Qt Gui, em adição a tais dois qwidget.h qwidget.cpp e o documento original, bem como

Kernel / qwidget_mac.mm
kernel / qwidget_qws.cpp
kernel / qwidget_win.cpp
kernel / qwidget_s60.cpp
kernel / qwidget_x11.cpp
kernel / qwidget_wince.cpp
...
no código fonte, bem como em todos os lugares

 

 
1
2
3
4
5
6
7
8
# if definido (Q_WS_X11)
. . .
#elif definido (Q_WS_MAC)
. . .
#elif definido (Q_WS_WIN)
. . .
#fim se
 

 

Tudo isso faz com que o Qt portado para um novo sistema de janelas não se torna fácil.

nome do projeto para está no farol em A Qt Platform Abstraction - tornando mais fácil tanto para o Qt porta para novas plataformas novas.
Lighthouse é o nome do projeto Qt Platform Abstraction. Isso torna o Qt portado para novas plataformas torna-se mais fácil do que.

Então, o que é o Qt Platform Abstraction (QPA)?

Qt Platform Abstraction

Do wiki Qt do projeto:

"A camada de QPA Plataforma de abstracção é para o QWS Substitui Qt. 5 e a partir das portas e Qt 4. A Plataforma"
QPA (Qt Plataforma abstracção) Qt camada plataforma abstracção i.e., transplantada de Qt4, alternativamente QWS (Qt Window System) em Qt5

Qt5.0 começar, a própria Qt não percebem sistema de janela separada, QWS deixou de existir, sendo substituído por um novo mecanismo QPA (Qt Platform abstração), QPA tornar o apoio Qt para diferentes plataformas ficar mais flexível quando a necessidade de apoiar uma nova plataforma quando, basta escrever um plug QPA para a plataforma.

QPA código relacionado qtbase / src / gui / kernel / qplatform *
seu plug no qtbase / src / plugins / plataformas /

QWS brevemente

QWS está Qt sistema de janelas, QT é o sistema de janelas arquitetura desenvolvida semelhante ao X do Windows, é uma estrutura C / S, exibido pelo QWS Server nos dispositivos físicos, a interface implementada pela QWS cliente, tanto uns com os outros pela tomada comunicações. Em muitos sistemas embarcados, programa QT usando basicamente QWS para alcançar, garantindo assim a portabilidade do programa.

Também adicionar -qws parâmetro QT quando você executar o programa, representa QWS Servidor este programa, caso contrário é QWS cliente. Qualquer um pode fazer aplicação baseada em servidor QWS QT de. Claro QWS Server deve começar antes do QWS cliente, caso contrário, QWS cliente irá falhar iniciar. Em aplicações práticas, será designado um aplicativo especial para fazer QWS Server, esta aplicação irá normalmente administrar alguns outros recursos do sistema.

Como QWS servidor é gerenciado QWS Cliente de? QWS Server é um servidor socket, QWS cliente é um soquete cliente. Ele vai tomar a iniciativa de estabelecer uma ligação a uma tomada de servidor QWS Server quando QWS cliente começa. E depois de passar QWSCommand QWS Server e QWSEvent através esta tomada para gerir QWS cliente.

Publicado 69 artigos originais · Louvor obteve 37 · vista 180 000 +

Acho que você gosta

Origin blog.csdn.net/xi_gua_gua/article/details/54359176
Recomendado
Clasificación