2010-01-20 32 views
8

Tôi đang tìm cách thêm phần tử vào GUI wxWidgets của mình hoạt động giống như trình mô phỏng đầu cuối. Không phải về một trình bao thực hiện các lệnh, mà chỉ là thiết lập đầu vào-đầu ra của một ứng dụng đang chạy trong một thiết bị đầu cuối.Một cửa sổ giống như terminal cho wxWidgets?

Về cơ bản, các yêu cầu là:

streaming đầu vào/đầu ra: Khi bạn nhập một ký tự, nó được thêm vào một dòng đầu vào, và khi một cái gì đó được dẫn đến nhà ga, nó in ra ngay lập tức.

Không chỉnh sửa: Khi bạn nhập vào một ký tự, nó vĩnh viễn ở đó, vì nó có thể được tiêu thụ bởi ứng dụng đang chạy trong thiết bị đầu cuối.

Một số loại cuộn (ngay cả khi nó chỉ hiển thị một vài dòng hoặc thứ gì đó).

Nó sẽ là tốt đẹp nếu có cái gì đó đã làm điều này, nhưng gợi ý về cách thực hiện điều này với các điều khiển hiện có như wxTextCtrl cũng sẽ được chào đón.

+0

Jeremy, nếu đây là câu trả lời của bạn https://github.com/jeremysalwen/TerminalWx - sẽ không đáng để trả lời nó? Tôi quan tâm đến trạng thái hiện tại của thành phần của bạn. Thay đổi cuối cùng là vào tháng 12 năm 2013, bản phát hành cuối cùng (và duy nhất) vào năm 2012 ... – Wolf

Trả lời

3

Tôi biết điều này trễ vài tuần, nhưng hy vọng nó vẫn hữu ích. Tôi đã có một dự án gọi là Chameleon sử dụng một thiết bị đầu cuối VT100 dựa trên wxWidgets, chính nó dựa trên một dự án có tên là taTelnet. Các nguồn Chameleon có sẵn từ trang web của tôi (download page here). Không chắc chắn nếu đó là chính xác những gì bạn đang tìm kiếm, nhưng nó có thể cung cấp cho bạn một số ý tưởng. Vui lòng cho tôi biết nếu bạn có bất kỳ câu hỏi nào về nó.

+0

Cảm ơn, đây là * chính xác * những gì tôi đang tìm kiếm! Tôi sẽ xem xét nó, và sẽ hỏi bạn bất kỳ câu hỏi nào tôi có thể có. –

+0

Lưu ý: mã nguồn nằm trong cấu trúc thư mục phẳng, nhưng dự án dự kiến ​​nó nằm trong các thư mục. –

+0

Hmm. Có thể đã có một sai lầm khi tôi đã nén nó. Cảm ơn thông báo. – markerikson

2

wxWidgets hỗ trợ chuyển hướng STDOUT đến wxTextCtrl qua wxStreamToTextRedirector. Đối với đầu vào, bạn có thể ghi đè lên sự kiện OnChar trong một lớp dẫn xuất wxTextCtrl để xử lý điều này.

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