2013-05-29 44 views
6

Tôi hoàn toàn mới đối với Qt.Qt: cách xác định phím tắt Cmd + cho MAC

Làm cách nào để xác định chuỗi khóa Cmd + numeric key trên máy Mac trong mã?

Đối với Windows Tôi có

QKeySequence(QString("Ctrl+") + QString::number(number)); 

nơi number là, nói, 2

gì nên giống nhau cho một MAC cmd quan trọng?

Và, có thể cho Qt xác định bằng cách nào đó nếu chúng tôi đang chạy trên máy Mac hoặc Windows (vì vậy tôi có thể tạo chuỗi khóa phù hợp) không?

Trả lời

9

Như đã đề cập trong Qt::Modifier enum documentation:

Lưu ý: Trên Mac OS X, giá trị CTRL tương ứng với các phím Command trên Macintosh bàn phím, và giá trị META tương ứng với Control phím

Các QKeySequence documentation là chi tiết hơn:

Lưu ý: Trên Mac OS X, tài liệu tham khảo để "Ctrl", Qt :: CTRL, Qt :: Control và Qt :: ControlModifier tương ứng với các phím Command trên bàn phím Macintosh và tham chiếu đến "Meta", Qt :: META, Qt :: Meta và Qt: : MetaModifier tương ứng với các phím Control. Các nhà phát triển trên Mac OS X có thể sử dụng các mô tả phím tắt tương tự trên tất cả các nền tảng, và ứng dụng của họ sẽ tự động làm việc như mong đợi trên Mac OS X.

Vì vậy, nếu bạn chỉ sử dụng Ctrl trên Windows/Linux và Cmd trên MacOS, bạn không cần phải thay đổi bất cứ điều gì chỉ cần sử dụng trình tự Windows.

+0

Bạn có nghĩa là nó phải giống như QKeySequence (QString ("Cmd + 1")) trên máy Mac? Tôi không có máy Mac để kiểm tra, xin lỗi. –

+1

Không, mã thông báo "Ctrl" ánh xạ tới 'Qt :: CTRL' được coi là khóa" Cmd "trên máy Mac, do đó,' QKeySequence (QString ("Ctrl + 1")) 'được đọc chính xác bất kể nền tảng. – cmannett85

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