首页
学习
活动
专区
圈层
工具
发布

Qt官方示例-使用布局

❝该示例演示如何使用布局类(QHBoxLayout)对控件进行布局。❞

  通常,子窗口小部件使用布局对象而不是通过显式指定位置和大小来安排在窗口内。在这里,我们构造了一个QLabel和QLineEdit控件并使用QHBoxLayout将它们并排布局。

代码语言:javascript
复制
#include <QtWidgets>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget window;
    QLabel *label = new QLabel(QApplication::translate("windowlayout", "Name:"));
    QLineEdit *lineEdit = new QLineEdit();

    QHBoxLayout *layout = new QHBoxLayout();
    layout->addWidget(label);
    layout->addWidget(lineEdit);
    window.setLayout(layout);
    window.setWindowTitle(QApplication::translate("windowlayout", "Window layout"));
    window.show();
    return app.exec();
}

我们构造的layout对象,通过addWidget函数提供给控件的位置和大小。布局本身在对setLayou的调用中提供给窗口本身。只有通过布局对它们负责管理的控件(和其他布局)的影响,布局才可见。

  在上面的示例中,每个控件的所有权都不是很清楚的。由于我们构建的窗口小部件和布局没有父对象,因此我们希望看到一个空窗口以及两个包含标签和行编辑的单独窗口。但是,「当我们告诉布局来管理标签和行编辑并在窗口上设置布局时,控件和布局本身都会被"重新父化",成为窗口的子级」

关于更多

  • 「QtCreator软件」可以找到:
  • 或在以下「Qt安装目录」找到:
代码语言:javascript
复制
C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\widgets\tutorials\widgets\windowlayout
  • 「相关链接」
代码语言:javascript
复制
https://doc.qt.io/qt-5/qtwidgets-tutorials-widgets-windowlayout-example.html
下一篇
举报
领券