フロートされた(ドッキング解除された)QDockWidgetをフルスクリーンモードにしようとしています。 Windowsではすべてがまっすぐに見えます。 DWが浮いている場合()dw-> showFullscreenを呼び出す:例えば私は確認スロット内のカスタムスロットfloatingChanged()QDockWidget Ubuntuで動作していないshowFullscreen(gnome)
connect(dw, SIGNAL(topLevelChanged(bool)), this, SLOT(floatingChanged(bool)));
にdockwidget(DW)のtopLevelChanged()信号を接続します。
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はこの目的で異なる動作をしています。
私はすでに成功していないウェブを検索しています。これは私の最初の投稿です。 私はスペルミスのために私を許しませんか?私は母国語ではないスピーカー、thanx;)
p.s.私もオオカミのライオンズの行動を試みるつもりです。ところで、それを試してみるには、上記のfloatingChanged()スロットをQt exampleのMainWindowのhttp://qt-project.org/doc/qt-5.0/qtwidgets/mainwindows-mainwindow.htmlに実装し、それを既存のドックウィジェットのいずれかまたはMainWindow :: createDockWidget()メソッドの中に接続します。
osx-lion on qt 4.8.2では、動作も異なります。ドックウィジェットは、dw-> showFullScreen()を呼び出した後、最大化されて表示されます。これは、タイトルバーが表示されていることを意味します。勝利XPは本当のフルスクリーン動作をしていました。そこでは、タイトルバーも欠席していました。これが、フルスクリーンモードで必要なものです。 – xam
私は、スタイルシートを使用して一種の問題を発見しました。私はQt-Centerフォーラムで説明しました。[link](http://www.qtcentre.org/threads/54178-QDockWidget-showFullScreen%28%29-only-works-on-Windows)。 – xam
[この最小の例](http://ideone.com/RIvk4C)は、あなたの設定で説明したように振る舞いますか?それは私の期待どおりに動作するようです。 – brunocodutra