フローティング (ドッキング解除) QDockWidget をフルスクリーン モードにしようとしています。Windows では、すべてが簡単に見えます。たとえば、dockwidget (dw) の topLevelChanged() シグナルをカスタム スロット floatingChanged() に接続します。
connect(dw, SIGNAL(topLevelChanged(bool)), this, SLOT(floatingChanged(bool)));
スロット内でチェックします。dw がフローティングの場合は、dw->showFullscreen() を呼び出します。
void MainWindow::floatingChanged(bool floating)
{
if( floating )
{
QDockWidget* dw = static_cast<QDockWidget*>(QObject::sender());
dw->showFullScreen();
}
}
Windows では、ドッキング解除された (フローティング) QDockWidget は、ドッキング解除後に直接全画面表示モードに切り替わります。しかし、Linux (ubuntu 12.04、gnome-shell 3.4.1) ではこれは機能しません (qt 4.8.0)。ドック ウィジェットは通常モードのままです。
(フローティング) QDockWidget をフルスクリーン モードに切り替える方法がわかりません。これに関する解決策は大歓迎です。実際、異なる OS はこの目的で異なる動作をしています。
私はすでに成功せずにウェブを検索したので、これが私の最初の投稿です。スペルミスを許してください私は英語のネイティブスピーカーではありません、ありがとう;)
ps osx-lions の動作も試してみます。ところで:それを試すには、Qtの例http://qt-project.org/doc/qt-5.0/qtwidgets/mainwindows-mainwindow.htmlのMainWindowに上記のfloatingChanged()スロットを実装して接続するだけです既存のドックウィジェットのいずれか、または MainWindow::createDockWidget() メソッド内で。