2009-09-07 8 views
9

Zamierzamy uruchomić zdalny GUI na kilku komputerach, wszystkie komunikując się z centralnym serwerem, na którym działa główna aplikacja. Zamiast hackować nasz własny ręczny protokół sieciowy i warstwę rozdzielającą dla naciśnięć przycisków i różnych wydarzeń, mam nadzieję, że można to jakoś rozwiązać w sposób sprytny.Jakiś pomysł na uruchamianie sygnałów Qt/gniazd w sieci?

Rzeczywiście, byłoby fajnie, gdyby można było automatycznie generować serwery sieciowe dla tych obiektów Qt lub jakoś łączyć sygnały/gniazda w interfejsie RPC, lub coś w tym stylu.

  • Pisanie generator kodu w oparciu o .ui QT powinny być wykonalne, ale może ktoś próbował tego wcześniej (z lub bez powodzenia)?

  • Innym pomysłem byłoby użycie PyQt i jakiegoś mechanizmu w Pythonie dla sieciowych obiektów proxy.

  • W przypadku braku konkretnych informacji dotyczących Qt, w jaki sposób można ogólnie rozwiązać zdalny interfejs GUI?

(przy użyciu serwera/klienta nie jest w porządku, ponieważ musimy nasz Qt Style i prawdopodobnie bardziej szybka GUI z bardziej fantazyjne wzory.)

Odpowiedz

9

Biblioteka Qxt rozszerzenie dla Qt ma QxtRPCPeer klasa

QxtRPCPeer jest narzędziem, które obudowuje Qt sygnały i przekazuje je przez połączenie sieci. Sygnał jest następnie ponownie emitowany na odbierającym końcu połączenia.

Last Edit (komentarz odpowiednimi OP pisał poniżej 26 lut '11 na 16:23):

Aktualizacja po 1,5 roku. Używamy QxtRPCPeer w naszym oprogramowaniu produkcyjnym od roku. Żadnych trzasków.

Last Edit (przez OP na 2015-05-22):

LibQxt nie utrzymuje się już, jak z 0.6.2, jak nadążają z wewnętrznymi zmianami API jest zbyt dużo pracy dla autorów . Niektóre części mogą być nadal przydatne, ale musisz je zachować samodzielnie.

+0

Jakieś doświadczenie z tym? Czy to może działać jako alternatywa dla sockets + serializacji? – rpg

+0

Brak doświadczenia z tym, wszystkie opinie są mile widziane – TimW

+0

Wygląda interesująco .. zbada i wróci .. – Macke

1

Podczas wyszukiwania Google dla "Remote GUI Qt" Natknąłem się na projekt this o nazwie Vedga. Opiera się na Qt i krótko mówiąc, co robi:

Vedga to zestaw narzędzi do tworzenia aplikacji sieciowych GUI . Pozwala programistce na napisanie kodu przy użyciu stylu programowania Qt dla strony serwera i zapomnienie o stronie klienta .

Może warto szukać. Byłoby miło, gdybyś to sprawdził i zamieścił swoje spostrzeżenia na ten temat, by móc z nich skorzystać w przyszłości.

+0

Wygląda trochę martwego .. ostatnie zatwierdzenie w 2002 roku. – Macke

0

Nie rozwiążę tego problemu, pisząc kod. Korzystałbym z narzędzi, które już istnieją.

To jest RDP (usługi terminalowe) dla systemu Windows lub po prostu X (trywialny, ze względu na wbudowaną obsługę sieci) dla dowolnego innego systemu operacyjnego.

+0

Każdy link do tego, jak skonfigurować RDP dla Windows, aby rozwiązać mój problem? Nigdy nie korzystałem z PROW, więc nie mam pojęcia, czego się spodziewać, jeśli chodzi o problemy z wydajnością lub implementacją. – Macke