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.
Vấn đề khi sử dụng keyPressEvent trong Qt
Đă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