关于QsciScintilla的快捷键设置原理

            //经过调试跟踪发现,设置的组合键,修饰键可以是ctrl,shift,alt的组合
            //但是第二个键,只能是键值小于0x7f的,从qnamespace文件可知,
            //该按键范围:Key_Space - Key_AsciiTilde,期间包括了各种字母
            //那么如何知道一个组合键是否符合这个要求的呢,
            //里面提供了 bool QsciCommand::validKey(int key) 这个函数就可以
            //另外说一句,qt的按键原理,一个key为一个32位整数,修饰键占高8位
            //普通键占剩下的低位,然后它们通过“或”运算,结合在一起形成的整数
            //因此,自己组合出一个按键,那么就用 int qkey1 = Qt::CTRL | Qt::Key_J; 这种方式
            //如果自己要拆解一个按键,拿到修饰键:key & Qt::SHIFT),拿到普通键:key &= ~Qt::MODIFIER_MASK
            //下面两种方式都可以
            QKeySequence key("Ctrl+H");
            int qkey = key[0];
            cmd->setAlternateKey(qkey);
 
  
            int qkey1 = Qt::CTRL | Qt::Key_J;
            cmd->setKey(qkey1);
            cmd->setKey(qkey1);

你可能感兴趣的:(qt,qt,开发语言)