2011-01-07 43 views
20

Tôi đã tạo GUI bằng Qt Creator. Đó là bằng cách kéo và thả các widget. Bây giờ tôi muốn gán các phím tắt cho tất cả các nút. Có ai ở đây xin vui lòng cho tôi biết làm thế nào để làm điều đó? Cảm ơn bạn trước.Gán phím tắt cho các nút - Qt C++

Trả lời

42

Các nút của bạn có thể có một khe cắm được kết nối với tín hiệu clicked() của chúng.

Để thêm phím tắt, bạn chỉ cần kết nối tín hiệu activated() của phím tắt với cùng một vị trí.

Trong code của bạn, #include <QShortcut> và sau đó bạn sẽ có thể để thêm một phím tắt cho một khe cắm như thế này:

QShortcut *shortcut = new QShortcut(QKeySequence("Ctrl+O"), parent); 
QObject::connect(shortcut, SIGNAL(activated()), receiver, SLOT(yourSlotHere())); 

đâu mẹ là mẹ của shortcut của bạn (ví dụ cửa sổ chính), yourSlotHere() là tên của vị trí mà bạn muốn phím tắt gọi và receiver đối tượng trong đó yourSlotHere() là.

Thay thế "Ctrl+O" bằng bất kỳ lối tắt nào bạn muốn chỉ định.

Bạn cũng có thể tìm thêm thông tin trên trang tài liệu cho QShortcut.

+2

Chúng ta không bị rò rỉ đối tượng 'shortcut' hay nó được giải thoát vì chúng ta chỉ định cha mẹ? – Niklas

13

Ngoài ra, nếu phím tắt tương ứng với một số ký tự trong văn bản của nút, bạn có thể được chuẩn bị & cho ký tự đó. Nếu bạn muốn có một chữ số &, hãy sử dụng & &.

3

Hôm nay (Qt5.7), chúng ta có thể gán các phím tắt trực tiếp trong Qt Designer sử dụng các phím tắt tài sản:

enter image description here

Khá thuận tiện .. Thậm chí nếu một lỗi bit: Tôi phải "Validate "phím tắt bằng cách nhấp vào thuộc tính khác của cùng một tiện ích trước khi chuyển sang tiện ích con khác!

Nhưng nó hoạt động.

Các vấn đề liên quan