2009-09-07 29 views
9

Chúng tôi sẽ chạy GUI từ xa trên một vài máy tính, tất cả liên lạc với một máy chủ trung tâm nơi ứng dụng chính đang chạy. Thay vì hack giao thức mạng thủ công của chính chúng ta và lớp marshalling cho các nút bấm và các sự kiện khác nhau, hy vọng của tôi là điều này có thể được giải quyết khéo léo hơn bằng cách nào đó. Thật vậy, nó sẽ rất tiện lợi nếu bạn có thể tự động tạo proxy mạng cho các đối tượng Qt này, hoặc bằng cách nào đó kết nối các tín hiệu/khe trên một giao diện RPC, hoặc một cái gì đó tương tự như vậy.Bất kỳ ý tưởng nào để chạy tín hiệu/khe Qt qua mạng?

  • Tạo trình tạo mã dựa trên tệp Qt .ui sẽ có thể thực hiện được, nhưng có thể ai đó đã thử trước đây (có hoặc không thành công)?

  • Một ý tưởng khác là sử dụng PyQt và một số cơ chế trong python cho các đối tượng proxy được nối mạng.

  • Không giải quyết các vấn đề cụ thể về Qt, cách nào giải quyết GUI từ xa nói chung?

(Sử dụng máy chủ web/khách hàng không phải là ok, như chúng ta cần chúng tôi Qt Style, và có lẽ một giao diện nhanh chóng hơn với các widget ưa thích hơn.)

Trả lời

9

Thư viện Qxt mở rộng cho Qt có QxtRPCPeer lớp

QxtRPCPeer là một công cụ đóng gói tín hiệu Qt và truyền chúng qua kết nối mạng. Tín hiệu là sau đó được phát lại trên khi kết thúc nhận kết nối.

Last Edit (bình luận liên quan OP của đăng tải dưới đây vào ngày 26 tháng 2 '11 16:23):

Bản cập nhật 1,5 năm sau. Chúng tôi đã sử dụng QxtRPCPeer trong phần mềm sản xuất của chúng tôi trong một năm nay. Không có trục trặc gì cả.

Last Edit (By OP trên 2015/05/22):

LibQxt không được duy trì nữa, tính đến 0.6.2, như việc bắt kịp với những thay đổi API nội bộ là quá nhiều công việc cho các tác giả . Một số phần vẫn có thể sử dụng được nhưng bạn phải tự bảo trì nó.

+0

Bất kỳ trải nghiệm nào với nó? Nó có thể làm việc như là một thay thế cho socket + serialization? – rpg

+0

Không có kinh nghiệm với nó, tất cả các thông tin phản hồi được chào đón – TimW

+0

Trông thú vị .. sẽ điều tra và lấy lại .. – Macke

1

Khi tìm kiếm google cho "Remote GUI Qt", Tôi đã đi qua dự án this gọi là Vedga. Nó dựa trên Qt và một thời gian ngắn những gì nó làm là:

Vedga là một bộ công cụ để phát triển các ứng dụng giao diện mạng . Nó cho phép nhà phát triển chỉ viết mã bằng cách sử dụng kiểu lập trình Qt cho máy chủ và quên về phía máy khách .

Có thể đáng xem. Nó sẽ là tốt đẹp nếu bạn kiểm tra xem nó ra và đăng các quan sát của bạn về nó để tham khảo trong tương lai.

+0

Có vẻ hơi chết .. cam kết cuối cùng vào năm 2002. – Macke

0

Tôi sẽ không giải quyết vấn đề này bằng mã viết. Tôi sẽ sử dụng các công cụ đã tồn tại.

Đây là RDP (dịch vụ đầu cuối) cho các cửa sổ hoặc đơn giản là X (tầm thường, vì hỗ trợ mạng nội bộ) cho bất kỳ hệ điều hành nào khác.

+0

Bất kỳ liên kết nào về cách thiết lập RDP cho Windows để giải quyết vấn đề của tôi? Tôi đã không bao giờ được sử dụng RDP vì vậy tôi có ít ý tưởng những gì mong đợi về hiệu suất hoặc thực hiện khó khăn. – Macke

Các vấn đề liên quan