2017-08-10 6 views
0

私は画像の束をナビゲートするウィジェットを持っています。私はQLabelの画像を表示し、それぞれの独自のショートカットを使用して、画像を編集したり移動したりするための機能を持っています。QLabelフルスクリーン:既存のショートカットを使用する(新しいコードなし)

今、私はフルスクリーンモードでの画像(QLabel)を表示するオプションを作成したいと思いますが、が、私はまだ定義されたショートカットを使用すると、関数を呼び出すが、割り当てられている(例えばIそのフルスクリーンモードを離れることなく画像をナビゲートすることができます)。

現在、私は近いですが、ショートカットを使用できません(フルスクリーンモードを終了することもできません)。 は、私が使用してQLabelフルスクリーンを示しています。

ui->myImage->setWindowFlags(ui-> myImage->windowFlags() | Qt::Window); 
ui->myImage->showFullScreen(); 
ui->myImage->showMaximized(); 
(から撮影: Qt - How to show a QLabel in fullscreen on my laptop?

私はさまざまな方法で、よりその後、一度これらのショートカットをasigning避けたいです。具体的には、コードを最小限にして、コードを読みやすく、フレキシブルで、保守しやすいようにしたいと思っています。私。別個のウィジェットまたはクラスはありません。

編集これまで試み

  • は、例えば、アクションを追加し、関連する機能に接続します

    connect(ui->actionMinimize,SIGNAL(triggered(bool)),this,SLOT(on_minimize_clicked())); 
    
  • 次の属性を追加:

    ui-> myImage->setAttribute(Qt::WA_ShowWithoutActivating); 
    
+0

あなたは[ 'Qtの:: WA_ShowWithoutActivating'](http://doc.qt.io/qt-5/qtを設定しようとしています。 html#WidgetAttribute-enum)属性をラベルに追加しますか? – thuga

+0

@thuga提案していただきありがとうございますが、それは役に立ちません。私はこれを試しました: 'ui-> myImage-> setAttribute(Qt :: WA_ShowWithoutActivating);'。他のアイデアはありますか? –

+0

ショートカットのコンテキストを['Qt :: ApplicationShortcut'](http://doc.qt.io/qt-4.8/qt.html#ShortcutContext-enum)に設定する方法はありますか? – thuga

答えて

0

を今後の参考のために、@ thugaの答えの詳細を。私は私のMainWindowのコンストラクタに以下の置かれている:

QShortcut *shortcut = new QShortcut(QKeySequence(Qt::Key_Escape), this); 

shortcut->setContext(Qt::ApplicationShortcut); 

connect(shortcut , SIGNAL(activated()), this, SLOT(stopFullScreen())); 
関連する問題