tkinter.dnd --- Hỗ trợ kéo và thả¶
Source code: Lib/tkinter/dnd.py
Ghi chú
Đây là bản thử nghiệm và sẽ không được dùng nữa khi nó được thay thế bằng Tk DND.
Mô-đun tkinter.dnd cung cấp hỗ trợ kéo và thả cho các đối tượng trong một ứng dụng, trong cùng một cửa sổ hoặc giữa các cửa sổ. Để cho phép kéo một đối tượng, bạn phải tạo một ràng buộc sự kiện cho đối tượng đó để bắt đầu quá trình kéo và thả. Thông thường, bạn liên kết sự kiện ButtonPress với hàm gọi lại mà bạn viết (xem Ràng buộc và sự kiện). Hàm sẽ gọi dnd_start(), trong đó 'nguồn' là đối tượng được kéo và 'sự kiện' là sự kiện gọi ra lệnh gọi (đối số cho hàm gọi lại của bạn).
Việc lựa chọn đối tượng mục tiêu diễn ra như sau:
Tìm kiếm từ trên xuống khu vực dưới chuột cho tiện ích mục tiêu
Tiện ích mục tiêu phải có thuộc tính dnd_accept có thể gọi được
Nếu dnd_accept không xuất hiện hoặc trả về
None, tìm kiếm sẽ chuyển sang tiện ích gốcNếu không tìm thấy tiện ích mục tiêu thì đối tượng mục tiêu là
None
Gọi tới <old_target>.dnd_leave(source, event)
Gọi tới <new_target>.dnd_enter(source, event)
Gọi tới <target>.dnd_commit(source, event) để thông báo rớt mạng
Gọi tới <source>.dnd_end(target, event) để báo hiệu kết thúc thao tác kéo và thả
- class tkinter.dnd.DndHandler(source, event)¶
Lớp DndHandler xử lý các sự kiện kéo và thả theo dõi các sự kiện Chuyển động và Phát hành nút trên thư mục gốc của tiện ích sự kiện.
- cancel(event=None)¶
Hủy quá trình kéo và thả.
- finish(event, commit=0)¶
Thực hiện kết thúc chức năng kéo và thả.
- on_motion(event)¶
Kiểm tra khu vực bên dưới chuột để tìm đối tượng mục tiêu trong khi thực hiện thao tác kéo.
- on_release(event)¶
Báo hiệu kết thúc quá trình kéo khi kiểu nhả được kích hoạt.
- tkinter.dnd.dnd_start(source, event)¶
Chức năng xuất xưởng cho quá trình kéo và thả.
Xem thêm