Vấn đề khi sử dụng keyPressEvent trong Qt

Chuyện là em mới bắt đầu học code bằng Qt. Nhưng tới đây thì em gặp một vấn đề khó khăn. E cố gắng gọi thực hiện hàm drawgraphagain nhưng không được, em nghĩ vấn đề đang nằm trong hàm keyPressEvent của em. Mọi người giúp em với ạ. Em cảm ơn mọi người nhiều ạ.
Bên dưới là một phần code của em.

Đăng mã thay cho chụp hình! Ông Larry Tesler chắc buồn đấy!


Chưa hiểu bạn muốn làm gì.
Có phải bạn muốn khi nhấn phím Enter thì sẽ vẽ thêm cái hình tròn?
Nhưng phương thức paintEvent() nó sẽ được gọi khi giao diện cần vẽ lại, việc này sẽ tự động. Nếu bạn muốn ngay lập tức vẽ lại (tức gọi đến paintEvent()) thì bạn phải gọi đến phương thức nào đó yêu cầu vẽ lại. Vì mình không dùng Qt nên không rõ tên phương thức đó, một số ngôn ngữ khác là invalidate(), repaint(),…

3 Likes

trước đó mình cũng đã thử sử dụng repaint() trong keyPressEvent nhưng nó vẫn không hoạt động.

Có chỗ nào bạn gọi đến checkey = false (keyUpEvent()) không? Nếu phần đó chạy trước khi paintEvent() chạy thì hàm drawgraphagain() sẽ không được gọi.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?