2017-01-09 8 views
0

Qtショートカットにいくつかの問題があります。私はここで報告している簡単なコードに問題を抽出しました。私のコードで は、私がCTRL +SHIFT +キーボード上組み合わせを押したときに、私のEmptyMainWindow::onShortcutActivated()を実行することにしたいです。 は、ここに私のmain.cppに特定のショートカットがQTで動作しない

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 
    EmptyMainWindow w; 
    w.show(); 

    return a.exec(); 
} 

は、ここに私のEmptyMainWindowクラス

#include "emptymainwindow.h" 
#include "ui_emptymainwindow.h" 
#include <QShortcut> 
#include <QDebug> 

EmptyMainWindow::EmptyMainWindow(QWidget *parent) : 
     QMainWindow(parent), 
     ui(new Ui::EmptyMainWindow) 
{ 
     ui->setupUi(this); 

     QShortcut *shortcut = new QShortcut (QKeySequence 
          (Qt::CTRL + Qt::SHIFT + Qt::Key_A ), this); 

     connect (shortcut, SIGNAL(activated()), this, SLOT(onShortcutActivated())); 
} 



void EmptyMainWindow::onShortcutActivated() 
{ 
    qDebug() << "EmptyMainWindow::onShortcutActivated()"; 
} 

は今、私の問題は、このコードは、このように動作しないということですされているが、ショートカットはCTRLであれば正常に動作します+ SHIFT + B又はCTRL + SHIFT + C など

これはなぜ起こっているのですか?

PS:私は、Visual Studioのコンパイラを使用してWindows 7に取り組んでいます

+0

基礎となるOSが独自の目的のためにCtrl + Shift + aをフックしていないことは確かですか? –

+0

私もこれについて考えていましたが、すべてのショートカットウィンドウがどのようにフックしているのを見ることができますか? –

+0

私は個人的にWindowsを使用していないので、決定的な回答はできません。しかし、[このリンク](https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts#Text_formatting)は、テキスト編集のためにctrl + shift + aがフックされる可能性があるようです。 –

答えて

0

はたぶんこれはQWERTYとAZERTYキーボードの問題です、ありがとうございました。あなたのショートカットをトリガーしようとしましたか?CTRL + SHIFT +

+0

これはどちらでも動作しません –

1

私はその理由を発見しました。オペレーティングシステムに登録されているすべてのショートカットを提供するWindows Hotkey Explorerというソフトウェアのおかげで、別のプログラムがこのショートカットを予約していたことがわかったので、アプリケーションに渡されませんでした。どのようにWindows上でそれを行うことが可能であるかについてあなたは何か考えていますか?

関連する問題