Tôi có thứ gì đó giống như thiết kế các lớp học sau đây và tôi tự hỏi liệu OK có sử dụng nhiều kết nối khe tín hiệu để giao tiếp giữa chúng hay không. Có một lớp MainWindow
chứa tất cả GUI, sau đó là lớp Wrapper
, cung cấp giao diện cho back-end, sau đó có một lớp Controller
để tạo và quản lý luồng và cuối cùng có Worker
s làm tất cả công việc.Có thể sử dụng tín hiệu và khe cắm chuỗi nhiều lần không?
Bây giờ, giả sử tôi đang tải tệp và muốn hiển thị tiến trình bằng thanh tiến trình trong MainWindow
. Lớp Worker
của tôi gửi updateProgress(int progress)
tới Controller::handleProgress(int progress)
vị trí sẽ gửi tín hiệu tiến trình đến lớp Wrapper
, ngược lại sẽ gửi tín hiệu tiến trình đến cửa sổ chính, cuối cùng sẽ cập nhật thanh tiến trình.
Tương tự khi dữ liệu đã được tải, nó được xử lý trong lớp Wrapper
và, một lần nữa, được truyền thông qua tín hiệu và khe (mặc dù với một bước ít hơn).
Đây có phải là cách làm tiêu chuẩn trong Qt hay tôi nên suy nghĩ lại về thiết kế của mình?
Câu trả lời rất hay. – user2672165