子コントロールが親コントロールの大きさ変更に応じてどのように動作するかを調べます

Qtでは、レイアウトマネージャを使用することで、親ウィジェットのサイズ変更に子ウィジェットが追従します。レイアウトマネージャは、親ウィジェットの変更に合わせて子ウィジェットの位置とサイズを自動調整する役割を担っています。

レイアウトマネージャーを使用して親コンテナのサイズ変更時に子コンポーネントを自動的に変更させる方法を示すサンプルコードを以下に示します。

#include <QtWidgets>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget window;
    QVBoxLayout layout(&window); // 创建垂直布局管理器

    QLabel label("Hello, World!"); // 创建一个标签控件
    layout.addWidget(&label); // 将标签控件添加到布局管理器中

    QPushButton button("Click me!"); // 创建一个按钮控件
    layout.addWidget(&button); // 将按钮控件添加到布局管理器中

    window.setLayout(&layout); // 将布局管理器设置为窗口的布局

    window.show();
    return app.exec();
}

上記の例では、QVBoxLayoutクラスを使用して垂直方向のレイアウトマネージャーを作成し、レイアウトマネージャーにラベルコントロールとボタンコントロールを追加します。その後、setLayout()関数によりレイアウトマネージャーがウィンドウのレイアウトに設定されます。ウィンドウのサイズが変更されるとき、レイアウトマネージャーはサブコントロールのサイズと位置を自動的に調整して新しいウィンドウサイズに合わせます。

レイアウトマネージャーを利用すると、子コンポーネントを親コンポーネントのサイズの変更に追従させることが、子コンポーネントの位置やサイズを手動で計算して調整せずに簡単に実装できる。

bannerAds