0

ご挨拶!

があり、QDialog myDialog;を使用して追加情報を添付したいと思いQWidget myDrawer( &myDialog, Qt::Drawer )ます。ドロワーが常にmyDialogの左側に接続されることを除いて、これは正常に機能します。右側に必要です。そして、私にはそれを行う方法がわかりません。

ヒントやアイデアをいただければ幸いです。ありがとう、そしてよろしく、ロビン

4

2 に答える 2

1

これは通常、OS によって行われます。ウィンドウを画面の左端に近づけてドロワーを開いてみてください。右側に開くはずです。

一般に、ドロワーは嫌われているように見え、最近では期待される「ルック アンド フィール」の一部ではなくなっているため、ドロワーの使用は避けてください。


アップデート:

申し訳ありませんが、正解です。それらはまだヒューマン インターフェイス ガイドラインに含まれていますが、ほとんどの開発者はもう使用していません。いくつかのボードや IRC チャンネルでの議論から、彼らは「ウィンドウ」の一部ではないため、「不自然」に感じているようです。

質問に戻ります。ドロワーが Qt からスライドする側を制御できるとは思えません。さらに、Cocoa-Qt を使用しているか、Carbon-Qt を使用しているかによって、違いが生じる可能性があります。少なくとも、Qt のドキュメントでそれに関する情報を見つけることができませんでした。

于 2011-03-11T12:01:18.680 に答える
0

demos \ mainwindowプロジェクトでは、 mainwindow.cppに数行(行311-314)があります。

#ifndef Q_WS_MAC
    { "Black", 0, Qt::LeftDockWidgetArea },
#else
    { "Black", Qt::Drawer, Qt::LeftDockWidgetArea }

現在OSXにアクセスできませんが、上記のプロジェクトで引き出しの側面を変更することを学んだことを覚えています。したがって、OSXでこのプロジェクトを試してみることができます。

これは可能です 右側 下

が、Qt::DrawerウィジェットとしてQDockWidgetを使用する必要があります。次のコードはQMainWindowクラスからのものです。

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QDockWidget *drawdock = new QDockWidget(this,Qt::Drawer);
    this->addDockWidget(Qt::RightDockWidgetArea,drawdock);
}

実行時にドロワーの側面を変更するには:

QMainWindow *mainWindow = qobject_cast<QMainWindow *>(this);
mainWindow->addDockWidget(Qt::BottomDockWidgetArea,drawdock);

エリアは、 DockWidgetAreasのいずれかである可能性があります

于 2011-03-11T14:01:28.703 に答える