⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qkeysequence.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    Although some developers might resort to fully specifying all the modifiers    they use on their keyboards to activate a shortcut, this will also result    in unexpected behavior for users of different keyboard layouts.    For example, a developer using a British keyboard may decide to specify    "Ctrl+Shift+=" as the key sequence in order to create a shortcut that    coincidentally behaves in the same way as \key{Ctrl plus}. However, the    \key{=} key needs to be accessed using the \key{Shift} key on Norwegian    keyboard, making the required shortcut effectively \key{Ctrl Shift Shift =}    (an impossible key combination).    As a result, both human-readable strings and hard-coded key codes can both    be problematic to use when specifying a key sequence that can be used on    a variety of different keyboard layouts. Only the use of    \l{StandardKey}{standard shortcuts} guarantees that the user will be able    to use the shortcuts that the developer intended.    Despite this, we can address this issue by ensuring that human-readable    strings are used, making it possible for translations of key sequences to    be made for users of different languages. This approach will be successful    for users whose keyboards have the most typical layout for the language    they are using.    \section1 GNU Emacs Style Key Sequences    Key sequences similar to those used in \l{GNU Emacs}, allowing up to four    key codes, can be created by using the multiple argument constructor,    or by passing a human-readable string of comma-separated key sequences.    For example, the key sequence, \key{Ctrl X} followed by \key{Ctrl C}, can    be specified using either of the following ways:    \code    QKeySequence(tr("Ctrl+X, Ctrl+C"))    QKeySequence(Qt::CTRL + Qt::Key_X, Qt::CTRL + Qt::Key_C)    \endcode    \sa QShortcut*//*!    \enum QKeySequence::SequenceMatch    \value NoMatch The key sequences are different; not even partially    matching.    \value PartialMatch The key sequences match partially, but are not    the same.    \value ExactMatch The key sequences are the same.    \omitvalue Identical*//*!    \enum QKeySequence::SequenceFormat    \value NativeText The key sequence as a platform specific string.    This means that it will be shown translated and on the Mac it will    resemble a key sequence from the menu bar. This enum is best used when you    want to display the string to the user.    \value PortableText The key sequence is given in a "portable" format,    suitable for reading and writing to a file. In many cases, it will look    similar to the native text on Windows and X11.*/static const struct {    int key;    const char* name;} keyname[] = {    { Qt::Key_Space,        QT_TRANSLATE_NOOP("QShortcut", "Space") },    { Qt::Key_Escape,       QT_TRANSLATE_NOOP("QShortcut", "Esc") },    { Qt::Key_Tab,          QT_TRANSLATE_NOOP("QShortcut", "Tab") },    { Qt::Key_Backtab,      QT_TRANSLATE_NOOP("QShortcut", "Backtab") },    { Qt::Key_Backspace,    QT_TRANSLATE_NOOP("QShortcut", "Backspace") },    { Qt::Key_Return,       QT_TRANSLATE_NOOP("QShortcut", "Return") },    { Qt::Key_Enter,        QT_TRANSLATE_NOOP("QShortcut", "Enter") },    { Qt::Key_Insert,       QT_TRANSLATE_NOOP("QShortcut", "Ins") },    { Qt::Key_Delete,       QT_TRANSLATE_NOOP("QShortcut", "Del") },    { Qt::Key_Pause,        QT_TRANSLATE_NOOP("QShortcut", "Pause") },    { Qt::Key_Print,        QT_TRANSLATE_NOOP("QShortcut", "Print") },    { Qt::Key_SysReq,       QT_TRANSLATE_NOOP("QShortcut", "SysReq") },    { Qt::Key_Home,         QT_TRANSLATE_NOOP("QShortcut", "Home") },    { Qt::Key_End,          QT_TRANSLATE_NOOP("QShortcut", "End") },    { Qt::Key_Left,         QT_TRANSLATE_NOOP("QShortcut", "Left") },    { Qt::Key_Up,           QT_TRANSLATE_NOOP("QShortcut", "Up") },    { Qt::Key_Right,        QT_TRANSLATE_NOOP("QShortcut", "Right") },    { Qt::Key_Down,         QT_TRANSLATE_NOOP("QShortcut", "Down") },    { Qt::Key_PageUp,       QT_TRANSLATE_NOOP("QShortcut", "PgUp") },    { Qt::Key_PageDown,     QT_TRANSLATE_NOOP("QShortcut", "PgDown") },    { Qt::Key_CapsLock,     QT_TRANSLATE_NOOP("QShortcut", "CapsLock") },    { Qt::Key_NumLock,      QT_TRANSLATE_NOOP("QShortcut", "NumLock") },    { Qt::Key_ScrollLock,   QT_TRANSLATE_NOOP("QShortcut", "ScrollLock") },    { Qt::Key_Menu,         QT_TRANSLATE_NOOP("QShortcut", "Menu") },    { Qt::Key_Help,         QT_TRANSLATE_NOOP("QShortcut", "Help") },    // Multimedia keys    { Qt::Key_Back,         QT_TRANSLATE_NOOP("QShortcut", "Back") },    { Qt::Key_Forward,      QT_TRANSLATE_NOOP("QShortcut", "Forward") },    { Qt::Key_Stop,         QT_TRANSLATE_NOOP("QShortcut", "Stop") },    { Qt::Key_Refresh,      QT_TRANSLATE_NOOP("QShortcut", "Refresh") },    { Qt::Key_VolumeDown,   QT_TRANSLATE_NOOP("QShortcut", "Volume Down") },    { Qt::Key_VolumeMute,   QT_TRANSLATE_NOOP("QShortcut", "Volume Mute") },    { Qt::Key_VolumeUp,     QT_TRANSLATE_NOOP("QShortcut", "Volume Up") },    { Qt::Key_BassBoost,    QT_TRANSLATE_NOOP("QShortcut", "Bass Boost") },    { Qt::Key_BassUp,       QT_TRANSLATE_NOOP("QShortcut", "Bass Up") },    { Qt::Key_BassDown,     QT_TRANSLATE_NOOP("QShortcut", "Bass Down") },    { Qt::Key_TrebleUp,     QT_TRANSLATE_NOOP("QShortcut", "Treble Up") },    { Qt::Key_TrebleDown,   QT_TRANSLATE_NOOP("QShortcut", "Treble Down") },    { Qt::Key_MediaPlay,    QT_TRANSLATE_NOOP("QShortcut", "Media Play") },    { Qt::Key_MediaStop,    QT_TRANSLATE_NOOP("QShortcut", "Media Stop") },    { Qt::Key_MediaPrevious,QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },    { Qt::Key_MediaNext,    QT_TRANSLATE_NOOP("QShortcut", "Media Next") },    { Qt::Key_MediaRecord,  QT_TRANSLATE_NOOP("QShortcut", "Media Record") },    { Qt::Key_HomePage,     QT_TRANSLATE_NOOP("QShortcut", "Home Page") },    { Qt::Key_Favorites,    QT_TRANSLATE_NOOP("QShortcut", "Favorites") },    { Qt::Key_Search,       QT_TRANSLATE_NOOP("QShortcut", "Search") },    { Qt::Key_Standby,      QT_TRANSLATE_NOOP("QShortcut", "Standby") },    { Qt::Key_OpenUrl,      QT_TRANSLATE_NOOP("QShortcut", "Open URL") },    { Qt::Key_LaunchMail,   QT_TRANSLATE_NOOP("QShortcut", "Launch Mail") },    { Qt::Key_LaunchMedia,  QT_TRANSLATE_NOOP("QShortcut", "Launch Media") },    { Qt::Key_Launch0,      QT_TRANSLATE_NOOP("QShortcut", "Launch (0)") },    { Qt::Key_Launch1,      QT_TRANSLATE_NOOP("QShortcut", "Launch (1)") },    { Qt::Key_Launch2,      QT_TRANSLATE_NOOP("QShortcut", "Launch (2)") },    { Qt::Key_Launch3,      QT_TRANSLATE_NOOP("QShortcut", "Launch (3)") },    { Qt::Key_Launch4,      QT_TRANSLATE_NOOP("QShortcut", "Launch (4)") },    { Qt::Key_Launch5,      QT_TRANSLATE_NOOP("QShortcut", "Launch (5)") },    { Qt::Key_Launch6,      QT_TRANSLATE_NOOP("QShortcut", "Launch (6)") },    { Qt::Key_Launch7,      QT_TRANSLATE_NOOP("QShortcut", "Launch (7)") },    { Qt::Key_Launch8,      QT_TRANSLATE_NOOP("QShortcut", "Launch (8)") },    { Qt::Key_Launch9,      QT_TRANSLATE_NOOP("QShortcut", "Launch (9)") },    { Qt::Key_LaunchA,      QT_TRANSLATE_NOOP("QShortcut", "Launch (A)") },    { Qt::Key_LaunchB,      QT_TRANSLATE_NOOP("QShortcut", "Launch (B)") },    { Qt::Key_LaunchC,      QT_TRANSLATE_NOOP("QShortcut", "Launch (C)") },    { Qt::Key_LaunchD,      QT_TRANSLATE_NOOP("QShortcut", "Launch (D)") },    { Qt::Key_LaunchE,      QT_TRANSLATE_NOOP("QShortcut", "Launch (E)") },    { Qt::Key_LaunchF,      QT_TRANSLATE_NOOP("QShortcut", "Launch (F)") },    // --------------------------------------------------------------    // More consistent namings    { Qt::Key_Print,        QT_TRANSLATE_NOOP("QShortcut", "Print Screen") },    { Qt::Key_PageUp,       QT_TRANSLATE_NOOP("QShortcut", "Page Up") },    { Qt::Key_PageDown,     QT_TRANSLATE_NOOP("QShortcut", "Page Down") },    { Qt::Key_CapsLock,     QT_TRANSLATE_NOOP("QShortcut", "Caps Lock") },    { Qt::Key_NumLock,      QT_TRANSLATE_NOOP("QShortcut", "Num Lock") },    { Qt::Key_NumLock,      QT_TRANSLATE_NOOP("QShortcut", "Number Lock") },    { Qt::Key_ScrollLock,   QT_TRANSLATE_NOOP("QShortcut", "Scroll Lock") },    { Qt::Key_Insert,       QT_TRANSLATE_NOOP("QShortcut", "Insert") },    { Qt::Key_Delete,       QT_TRANSLATE_NOOP("QShortcut", "Delete") },    { Qt::Key_Escape,       QT_TRANSLATE_NOOP("QShortcut", "Escape") },    { Qt::Key_SysReq,       QT_TRANSLATE_NOOP("QShortcut", "System Request") },    // --------------------------------------------------------------    // Keypad navigation keys    { Qt::Key_Select,       QT_TRANSLATE_NOOP("QShortcut", "Select") },    { Qt::Key_Yes,          QT_TRANSLATE_NOOP("QShortcut", "Yes") },    { Qt::Key_No,           QT_TRANSLATE_NOOP("QShortcut", "No") },    // --------------------------------------------------------------    // Device keys    { Qt::Key_Context1,     QT_TRANSLATE_NOOP("QShortcut", "Context1") },    { Qt::Key_Context2,     QT_TRANSLATE_NOOP("QShortcut", "Context2") },    { Qt::Key_Context3,     QT_TRANSLATE_NOOP("QShortcut", "Context3") },    { Qt::Key_Context4,     QT_TRANSLATE_NOOP("QShortcut", "Context4") },    { Qt::Key_Call,         QT_TRANSLATE_NOOP("QShortcut", "Call") },    { Qt::Key_Hangup,       QT_TRANSLATE_NOOP("QShortcut", "Hangup") },    { Qt::Key_Flip,         QT_TRANSLATE_NOOP("QShortcut", "Flip") },    { 0, 0 }};//Table of key bindings. It must be sorted on key sequence.//A priority of 1 indicates that this is the primary key binding when multiple are defined.const QKeyBinding QKeySequencePrivate::keyBindings[] = {//   StandardKey                            Priority    Key Sequence                            Platforms    {QKeySequence::Back,                    0,          Qt::Key_Backspace,                      QApplicationPrivate::KB_Win},    {QKeySequence::Delete,                  1,          Qt::Key_Delete,                         QApplicationPrivate::KB_All},    {QKeySequence::MoveToStartOfLine,       0,          Qt::Key_Home,                           QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11},    {QKeySequence::MoveToStartOfDocument,   0,          Qt::Key_Home,                           QApplicationPrivate::KB_Mac},    {QKeySequence::MoveToEndOfLine,         0,          Qt::Key_End,                            QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11},    {QKeySequence::MoveToEndOfDocument,     0,          Qt::Key_End,                            QApplicationPrivate::KB_Mac},    {QKeySequence::MoveToPreviousChar,      0,          Qt::Key_Left,                           QApplicationPrivate::KB_All},    {QKeySequence::MoveToPreviousLine,      0,          Qt::Key_Up,                             QApplicationPrivate::KB_All},    {QKeySequence::MoveToNextChar,          0,          Qt::Key_Right,                          QApplicationPrivate::KB_All},    {QKeySequence::MoveToNextLine,          0,          Qt::Key_Down,                           QApplicationPrivate::KB_All},    {QKeySequence::MoveToPreviousPage,      1,          Qt::Key_PageUp,                         QApplicationPrivate::KB_All},    {QKeySequence::MoveToNextPage,          1,          Qt::Key_PageDown,                       QApplicationPrivate::KB_All},    {QKeySequence::HelpContents,            0,          Qt::Key_F1,                             QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11},    {QKeySequence::FindNext,                0,          Qt::Key_F3,                             QApplicationPrivate::KB_X11},    {QKeySequence::FindNext,                1,          Qt::Key_F3,                             QApplicationPrivate::KB_Win},    {QKeySequence::Refresh,                 0,          Qt::Key_F5,                             QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11},    {QKeySequence::Undo,                    0,          Qt::Key_F14,                            QApplicationPrivate::KB_X11}, //Undo on sun keyboards    {QKeySequence::Copy,                    0,          Qt::Key_F16,                            QApplicationPrivate::KB_X11}, //Copy on sun keyboards    {QKeySequence::Paste,                   0,          Qt::Key_F18,                            QApplicationPrivate::KB_X11}, //Paste on sun keyboards          {QKeySequence::Cut,                     0,          Qt::Key_F20,                            QApplicationPrivate::KB_X11}, //Cut on sun keyboards    {QKeySequence::PreviousChild,           0,          Qt::Key_Back,                           QApplicationPrivate::KB_All},    {QKeySequence::NextChild,               0,          Qt::Key_Forward,                        QApplicationPrivate::KB_All},     {QKeySequence::Forward,                 0,          Qt::SHIFT | Qt::Key_Backspace,          QApplicationPrivate::KB_Win},    {QKeySequence::Paste,                   0,          Qt::SHIFT | Qt::Key_Insert,             QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11},     {QKeySequence::Cut,                     0,          Qt::SHIFT | Qt::Key_Delete,             QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11}, //## Check if this should work on mac    {QKeySequence::SelectStartOfLine,       0,          Qt::SHIFT | Qt::Key_Home,               QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11},    {QKeySequence::SelectStartOfDocument,   0,          Qt::SHIFT | Qt::Key_Home,               QApplicationPrivate::KB_Mac},    {QKeySequence::SelectEndOfLine,         0,          Qt::SHIFT | Qt::Key_End,                QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11},    {QKeySequence::SelectEndOfDocument,     0,          Qt::SHIFT | Qt::Key_End,                QApplicationPrivate::KB_Mac},    {QKeySequence::SelectPreviousChar,      0,          Qt::SHIFT | Qt::Key_Left,               QApplicationPrivate::KB_All},    {QKeySequence::SelectPreviousLine,      0,          Qt::SHIFT | Qt::Key_Up,                 QApplicationPrivate::KB_All},    {QKeySequence::SelectNextChar,          0,          Qt::SHIFT | Qt::Key_Right,              QApplicationPrivate::KB_All},    {QKeySequence::SelectNextLine,          0,          Qt::SHIFT | Qt::Key_Down,               QApplicationPrivate::KB_All},    {QKeySequence::SelectPreviousPage,      0,          Qt::SHIFT | Qt::Key_PageUp,             QApplicationPrivate::KB_All},    {QKeySequence::SelectNextPage,          0,          Qt::SHIFT | Qt::Key_PageDown,           QApplicationPrivate::KB_All},    {QKeySequence::WhatsThis,               1,          Qt::SHIFT | Qt::Key_F1,                 QApplicationPrivate::KB_All},    {QKeySequence::FindPrevious,            0,          Qt::SHIFT | Qt::Key_F3,                 QApplicationPrivate::KB_X11},    {QKeySequence::FindPrevious,            1,          Qt::SHIFT | Qt::Key_F3,                 QApplicationPrivate::KB_Win},    {QKeySequence::ZoomIn,                  1,          Qt::CTRL | Qt::Key_Plus,                QApplicationPrivate::KB_All},    {QKeySequence::NextChild,               0,          Qt::CTRL | Qt::Key_Comma,               QApplicationPrivate::KB_KDE},    {QKeySequence::ZoomOut,                 1,          Qt::CTRL | Qt::Key_Minus,               QApplicationPrivate::KB_All},    {QKeySequence::PreviousChild,           0,          Qt::CTRL | Qt::Key_Period,              QApplicationPrivate::KB_KDE},    {QKeySequence::HelpContents,            1,          Qt::CTRL | Qt::Key_Question,            QApplicationPrivate::KB_Mac},    {QKeySequence::SelectAll,               1,          Qt::CTRL | Qt::Key_A,                   QApplicationPrivate::KB_All},    {QKeySequence::Bold,                    1,          Qt::CTRL | Qt::Key_B,                   QApplicationPrivate::KB_All},    {QKeySequence::Copy,                    1,          Qt::CTRL | Qt::Key_C,                   QApplicationPrivate::KB_All},    {QKeySequence::Delete,                  0,          Qt::CTRL | Qt::Key_D,                   QApplicationPrivate::KB_X11}, //emacs (line edit only)    {QKeySequence::Find,                    0,          Qt::CTRL | Qt::Key_F,                   QApplicationPrivate::KB_All},    {QKeySequence::FindNext,                1,          Qt::CTRL | Qt::Key_G,                   QApplicationPrivate::KB_Gnome | QApplicationPrivate::KB_Mac},    {QKeySequence::FindNext,                0,          Qt::CTRL | Qt::Key_G,                   QApplicationPrivate::KB_Win},    {QKeySequence::Replace,                 0,          Qt::CTRL | Qt::Key_H,                   QApplicationPrivate::KB_Win},     {QKeySequence::Replace,                 0,          Qt::CTRL | Qt::Key_H,                   QApplicationPrivate::KB_Gnome},     {QKeySequence::Italic,                  0,          Qt::CTRL | Qt::Key_I,                   QApplicationPrivate::KB_All},     {QKeySequence::DeleteEndOfLine,         0,          Qt::CTRL | Qt::Key_K,                   QApplicationPrivate::KB_X11}, //emacs (line edit only)    {QKeySequence::New,                     1,          Qt::CTRL | Qt::Key_N,                   QApplicationPrivate::KB_All},    {QKeySequence::Open,                    1,          Qt::CTRL | Qt::Key_O,                   QApplicationPrivate::KB_All},    {QKeySequence::Print,                   1,          Qt::CTRL | Qt::Key_P,                   QApplicationPrivate::KB_All},    {QKeySequence::Refresh,                 1,          Qt::CTRL | Qt::Key_R,                   QApplicationPrivate::KB_Gnome | QApplicationPrivate::KB_Mac},    {QKeySequence::Replace,                 0,          Qt::CTRL | Qt::Key_R,                   QApplicationPrivate::KB_KDE},    {QKeySequence::Save,                    1,          Qt::CTRL | Qt::Key_S,                   QApplicationPrivate::KB_All},    {QKeySequence::AddTab,                  0,          Qt::CTRL | Qt::Key_T,                   QApplicationPrivate::KB_All},    {QKeySequence::Underline,               1,          Qt::CTRL | Qt::Key_U,                   QApplicationPrivate::KB_All},     {QKeySequence::Paste,                   1,          Qt::CTRL | Qt::Key_V,                   QApplicationPrivate::KB_All},    {QKeySequence::Close,                   0,          Qt::CTRL | Qt::Key_W,                   QApplicationPrivate::KB_Win | QApplicationPrivate::KB_X11},    {QKeySequence::Close,                   1,          Qt::CTRL | Qt::Key_W,                   QApplicationPrivate::KB_Mac},

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -