Trong Qt em muốn tạo nhiều cửa sổ để chứa các câu hỏi trắc nghiệm thì phải sử dụng tool nào ạ, cách bắt đáp án đúng và tỉnh tổng các câu trả lời đúng của người dùng thì phải làm sao ạ.
Thắc mắc về Qt Creator
Câu hỏi của em mơ hồ quá, em có thể đưa ra ví dụ cụ thể bằng hình ảnh, hình vẽ để cho dễ hình dung không?
Các câu hỏi dưới đây không rõ ràng lắm.
Giả sử bây giờ em tạo ra 1 chương trình trắc nghiệm bao gồm 20 câu hỏi, thì mình không thể viết hết 20 câu hỏi đó trong 1 tool được, ứng với mỗi 1 câu hỏi sẽ có 4 đáp án để chọn, sau khi làm hết 20 câu sẽ tiến hành xuất ra số câu người dùng đã trả lời đúng ra màn hình ak anh. Em dùng Radio Button để tạo ra 4 đáp án để chọn lựa nhưng không biết viết code tiếp theo như thế nào.
Khái niệm tool của em là gì?
Em dùng group để bọc lại 4 radio.
Khi người dùng bấm ok thì em duyệt từng group. Mỗi group em lấy giá trị của radio được chọn. Kiểm tra xem giá trị đó có đúng không.
Anh nghĩ em nên tạo ra một Class, mà trong đó có cấu trúc bao gồm 1 group, 4 hoặc n options bằng radio. Khi em muốn tạo một câu hỏi thì em sẽ truyền vào nội dung câu hỏi, 4 đáp án. @tranhuanltv có tài liệu qt nào làm cái này không, anh quên mất nguồn. @ngohuy có idea gì không
Em muốn tạo 1 nút tiếp để nó tiến tới câu 2 thì làm sao anh
Em tạo qt button là được rồi, khi bấm vào button đó thì em thực hiện ẩn cái câu hỏi 1, hiện câu hỏi 2 lên.
Có thể chạy đồng hồ đếm ngược tính thời gian làm bài được không anh
Anh có thể nói rõ hơn phần code 4 đáp án được không ạ
Em tìm cách xử lý radio buttons trước. Radio button đi theo group, nếu radio button trong 1 group thì sẽ chỉ có một button được chọn tại một thời điểm.
Em lấy ra status của mỗi button hoặc đăng ký signal để bắt được sự kiện button status change để làm nhiều thứ hơn. Dùng method isChecked() để kiểm tra là button đó đã được chọn chưa.
Bạn nên tìm hiểu thêm cách tạo giao diện bằng code để có thể tùy biến được nhiều hơn,nhớ là không phải mọi thiết kế trên GUI điều sử dụng Qt Creator để làm, Qt Creator hay bất kì những phần mềm hỗ trợ tạo giao diện nào khác đều có những giới hạn riêng của nó. Qt Creator chỉ là phần mềm hỗ trợ còn cái chính là người lập trình viên phải làm bằng code của mình.
Về phần giao diện thì ý tưởng mình sẽ làm thế này
- Tạo 1 QWidget hiển thị 1 câu hỏi và 4 đáp án (Có thể dùng Qt Creator) gọi là QuestionWg, nó sẽ nhận vào các tham số như nội dung câu hỏi, nội dung câu trả lời, và đáp án đúng
- Tùy theo số câu hỏi mình sẽ tạo ra số lượng QuestionWg tương ứng để sử dụng
- Tùy theo kiểu hiển thị mình sẽ thêm các QuestionWg tạo ra vào Layout để hiển thị, nếu mỗi lần hiển thị 1 câu hỏi sau đó nhấn next để qua câu hỏi mới thì có thể dung QStackedLayout
Tham khảo thêm:
- Cách sử dụng QRadioButton https://www.youtube.com/watch?v=gDaeZtjitc8
Hợp lý rồi, làm như thế này thì sau này chỉ cần nhập vào nội dung câu hỏi và đáp án thì ta có ngay một bộ đề thi mới. Không cần phải viết lại chương trình.
Cũng giống như forum vậy, người ta làm sẵn chức năng post bài. Sau này post bài chỉ viết nội dung thôi. Giao diện mỗi post là cố định.
Em xin cảm ơn những sự giúp đỡ của mọi người, em sẽ cố gắng tìm hiểu tiếp để hoàn thiện được bài tập lớn này.