1

QMainWindow基本的にメニュー、ツールバー、およびプライマリウィジェットを備えたQtアプリケーションがあります。

プライマリウィジェットが特定のサイズになるようにアプリケーションのサイズを変更するメニュー項目が必要ですが、これを行う方法はまだわかりません。

これまでのところ、私が思いついた最も近いものは次のようなものです。

void on_actionSetSize_triggered() {
    ui_.primary_widget->setMinimumSize(100,200);
    adjustSize();
}

プライマリ ウィジェットの最小サイズをターゲット サイズに設定し、UI に「収まるように縮小」するように指示するという考えです。

残念ながら、これはせいぜい散発的に機能するようですが、必要な場合は確かにサイズが大きくなりますが、サイズを縮小したい場合は通常機能しません:-/。

注: ユーザーがアプリケーションのサイズを自由に変更できるようにしたいのですが、これはユーザーが要求した場合のみです。

4

1 に答える 1

0

サイズを大きくしたときと同じように小さくするには、adjustSize(). その後、すぐに制約を解放して、ユーザーがサイズを変更できるようにすることができます。

これを試すことができます:

ui_.primary_widget->setFixedSize(100, 200);  
adjustSize();
ui_.primary_widget->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);

Primary Widget の設定のサイズは、その内容に基づいて有効なサイズである必要があることに注意してください。それ以外の場合、ウィジェットで Fixed Size を設定すると、レイアウトの制約を破ることなく、それ以上のことはせずに、ウィジェットをできるだけ小さくすることができます。

于 2013-04-18T09:06:56.343 に答える