2009-09-07 4 views
9

Nous allons exécuter une interface graphique distante sur quelques PC, tous en communication avec un serveur central sur lequel l'application principale est en cours d'exécution. Au lieu de pirater notre propre protocole de réseau manuel et la couche de triage pour les presses de bouton et divers événements, mon espoir est que cela pourrait être résolu plus intelligemment d'une manière ou d'une autre. En effet, il serait intéressant de pouvoir générer automatiquement des proxys réseau pour ces objets Qt, ou de connecter d'une manière ou d'une autre des signaux/slots sur une interface RPC, ou quelque chose comme ça.Une idée pour exécuter des signaux/slots Qt sur le réseau?

  • L'écriture d'un générateur de code basé sur les fichiers .ui de Qt devrait être faisable, mais peut-être que quelqu'un d'autre a essayé cela avant (avec ou sans succès)?

  • Une autre idée serait d'utiliser PyQt et un mécanisme en python pour les objets proxy en réseau.

  • À défaut d'un truc spécifique à Qt, comment résoudre une interface graphique distante en général?

(Utilisation d'un serveur/client Web n'est pas correct, car nous avons besoin de notre style Qt, et probablement une interface graphique plus rapide avec des widgets plus de fantaisie.)

Répondre

9

La bibliothèque d'extension Qxt pour Qt a une classe QxtRPCPeer

QxtRPCPeer est un outil qui encapsule signaux Qt et les transmet via une connexion de réseau . Le signal est réémis par la suite sur la fin de la connexion .

Modifier dernier (commentaire de l'OP pertinent affiché ci-dessous le 26 févr '11 à 16h23):

Une mise à jour 1,5 ans après. Nous utilisons QxtRPCPeer dans notre logiciel de production depuis un an maintenant. Pas de problème.

Dernière édition (par OP sur 22/5/2015):

LibQxt est plus maintenu, au 0.6.2, en gardant avec les modifications de l'API interne est trop de travail pour les auteurs . Certaines parties peuvent encore être utilisables, mais vous devrez l'entretenir vous-même.

+0

Une expérience avec elle? Pourrait-il fonctionner comme une alternative aux sockets + sérialisation? – rpg

+0

Aucune expérience avec elle, tous les commentaires sont les bienvenus – TimW

+0

Regarde intéressant .. enquêtera et reviendra .. – Macke

1

Lors de la recherche Google pour "GUI à distance Qt", Je suis tombé sur le projet this appelé Vedga. Il est basé sur Qt et brièvement ce qu'il fait:

Vedga est une boîte à outils pour développer applications GUI réseau. Il permet le développeur d'écrire simplement du code en utilisant le style de programmation Qt pour le côté serveur et oublier le côté client .

Cela pourrait valoir la peine de regarder. Ce serait bien si vous vérifier et poster vos observations à ce sujet pour référence future.

+0

Apparemment un peu mort .. dernier commit sur 2002. – Macke

0

Je ne résoudrais pas ce problème en écrivant du code. J'utiliserais les outils qui existent déjà.

Ceci est RDP (services de terminal) pour Windows ou simplement X (trivial, en raison de la prise en charge du réseau intégré) pour tout autre système d'exploitation.

+0

Un lien vers la façon de configurer RDP pour Windows pour résoudre mon problème? Je n'ai jamais utilisé RDP, donc je ne sais pas trop à quoi m'attendre en termes de performance ou de difficulté de mise en œuvre. – Macke

Questions connexes