当前位置:首页>python>7天上手PyQt6 Python 桌面应用开发之PyQt6 布局管理

7天上手PyQt6 Python 桌面应用开发之PyQt6 布局管理

  • 2026-03-26 09:17:01
7天上手PyQt6 Python 桌面应用开发之PyQt6 布局管理

概述

做 PyQt6 界面总乱糟糟?布局管理才是核心!

告别手动拖控件、固定尺寸的低效操作,掌握 PyQt6 布局管理技巧,不管是水平 / 垂直布局,还是网格、表单布局,都能让界面自适应各种窗口尺寸,整洁又专业~

PyQt6 布局管理

四大布局

垂直布局 Vertical Layout (QVBoxLayout)

QVBoxLayout 常用方法

注:QVBoxLayout 是垂直布局管理器(非可视化控件),核心作用是将控件按垂直方向有序排列,以下是其高频实用方法:

  1. addWidget ():向垂直布局中添加控件,传入 QWidget 对象,可选stretch(拉伸因子)、alignment(对齐方式),如addWidget(btn, stretch=1, alignment=Qt.AlignCenter),是布局添加控件的核心方法。

  2. addLayout ():向垂直布局中嵌套其他布局(如 QHBoxLayout、QVBoxLayout),传入 QLayout 对象,可选stretch参数,实现布局嵌套,构建复杂界面结构。

  3. insertWidget ():在指定索引位置插入控件,参数为(索引, 控件, stretch=0, alignment=Qt.AlignLeft),精准控制控件的插入位置(如在第 0 位插入标题控件)。

  4. insertLayout ():在指定索引位置插入子布局,参数为(索引, 布局, stretch=0),精准嵌套子布局到垂直布局的指定位置。

  5. addSpacing ():添加固定像素的空白间距,传入整数(如addSpacing(20)),用于控件间的间距调整,提升界面美观度。

  6. addStretch ():添加可拉伸的空白占位符,可选stretch参数(拉伸因子),如addStretch(1),可将控件推到布局顶部 / 底部,实现自适应垂直布局。

  7. insertSpacing ():在指定索引位置插入固定间距,参数为(索引, 像素值),精准控制某一位置的控件间距。

  8. insertStretch ():在指定索引位置插入可拉伸占位符,参数为(索引, stretch=1),精准调整布局的拉伸空间分配。

  9. removeWidget ():从布局中移除指定控件,传入 QWidget 对象(仅解除布局关联,不会删除控件,需手动隐藏 / 销毁)。

  10. removeItem ():从布局中移除指定布局项(子布局、间距、拉伸项),传入 QLayoutItem 对象,清空指定布局元素。

  11. takeAt ():移除并返回指定索引位置的布局项,返回 QLayoutItem 对象,可用于动态删除布局项并回收资源。

  12. count ():获取布局中所有布局项(控件、子布局、间距、拉伸)的总数,返回 int 类型,用于遍历或校验布局项数量。

  13. setSpacing ():设置布局内所有控件 / 子布局之间的统一垂直间距,传入整数(如setSpacing(15)),批量调整全局间距。

  14. spacing ():获取当前设置的全局垂直间距值,返回 int 类型,校验间距配置。

  15. setContentsMargins ():设置布局的外边框边距(左、上、右、下),传入四个整数(如setContentsMargins(10, 10, 10, 10)),控制布局与父控件的间距。

  16. contentsMargins ():获取布局的外边框边距,返回 QMargins 对象,可通过.left()/.top()等提取单个方向的边距值。

  17. setStretchFactor ():为指定控件 / 子布局设置拉伸因子,参数为(目标对象, 拉伸值),如setStretchFactor(btn, 2),控制布局空间的分配比例(值越大占比越高)。

  18. stretchFactor ():获取指定控件 / 子布局的拉伸因子,返回 int 类型,读取拉伸比例配置。

  19. setAlignment ():设置布局内所有控件的统一对齐方式,传入 Qt.Alignment 枚举值(如Qt.AlignHCenter水平居中、Qt.AlignTop顶部对齐),批量调整控件对齐。

  20. alignWidget ():为单个控件设置对齐方式,参数为(控件, 对齐方式),精准调整单个控件的对齐(优先级高于全局对齐)。

  21. itemAt ():根据索引获取布局项对象,返回 QLayoutItem 实例,可通过itemAt(0).widget()提取第 0 位的控件对象。

  22. widgetAt ():根据索引直接获取对应的控件对象,返回 QWidget 实例(仅该位置为控件时有效),快速读取布局内的控件。

  23. clear ():清空布局中所有布局项(仅移除关联,不删除控件),快速重置布局结构。

  24. invalidate ():标记布局为无效,触发重新计算布局尺寸和位置,适配控件尺寸 / 位置动态修改后的即时更新。

  25. setEnabled ():设置布局是否启用,True 为正常布局(控件按规则排列)、False 为禁用(控件位置固定),控制布局的生效状态。

总结

QVBoxLayout 核心用法:addWidget () 添加控件、addLayout () 嵌套子布局,setSpacing ()/setContentsMargins () 配置间距与外边框,是最基础且高频的操作;

水平布局 Horizontal Layout (QHBoxLayout)

QHBoxLayout 常用方法

注:QHBoxLayout 是水平布局管理器(非可视化控件),核心作用是将控件按水平方向有序排列,以下是其高频实用方法:

  1. addWidget ():向水平布局中添加控件,传入 QWidget 对象,可选stretch(拉伸因子)、alignment(对齐方式),如addWidget(btn, stretch=1, alignment=Qt.AlignVCenter),是布局添加控件的核心方法。

  2. addLayout ():向水平布局中嵌套其他布局(如 QVBoxLayout、QHBoxLayout),传入 QLayout 对象,可选stretch参数,实现布局嵌套(如水平布局中嵌套垂直布局放一组按钮),构建复杂界面结构。

  3. insertWidget ():在指定索引位置插入控件,参数为(索引, 控件, stretch=0, alignment=Qt.AlignLeft),精准控制控件插入位置(如在第 1 位插入分隔线控件)。

  4. insertLayout ():在指定索引位置插入子布局,参数为(索引, 布局, stretch=0),精准嵌套子布局到水平布局的指定位置(如在输入框右侧插入垂直布局)。

  5. addSpacing ():添加固定像素的水平空白间距,传入整数(如addSpacing(15)),用于控件间的间距调整,提升界面美观度。

  6. addStretch ():添加可拉伸的空白占位符,可选stretch参数(拉伸因子),如addStretch(2),可将控件推到布局左侧 / 右侧,实现自适应水平布局(如让按钮靠右显示)。

  7. insertSpacing ():在指定索引位置插入固定水平间距,参数为(索引, 像素值),精准控制某一位置的控件间距(如在搜索框和搜索按钮间插 10 像素间距)。

  8. insertStretch ():在指定索引位置插入可拉伸占位符,参数为(索引, stretch=1),精准调整布局的拉伸空间分配(如在布局开头插拉伸项让所有控件靠右)。

  9. removeWidget ():从布局中移除指定控件,传入 QWidget 对象(仅解除布局关联,不会删除控件,需手动隐藏 / 销毁)。

  10. removeItem ():从布局中移除指定布局项(子布局、间距、拉伸项),传入 QLayoutItem 对象,清空指定布局元素。

  11. takeAt ():移除并返回指定索引位置的布局项,返回 QLayoutItem 对象,可用于动态删除布局项并回收资源(如takeAt(0)移除第一个布局项)。

  12. count ():获取布局中所有布局项(控件、子布局、间距、拉伸)的总数,返回 int 类型,用于遍历或校验布局项数量。

  13. setSpacing ():设置布局内所有控件 / 子布局之间的统一水平间距,传入整数(如setSpacing(10)),批量调整全局水平间距。

  14. spacing ():获取当前设置的全局水平间距值,返回 int 类型,校验间距配置是否符合预期。

  15. setContentsMargins ():设置布局的外边框边距(左、上、右、下),传入四个整数(如setContentsMargins(8, 8, 8, 8)),控制布局与父控件的间距(如布局离窗口边缘的距离)。

  16. contentsMargins ():获取布局的外边框边距,返回 QMargins 对象,可通过.left()/.top()等提取单个方向的边距值(如contentsMargins().right()获取右边距)。

  17. setStretchFactor ():为指定控件 / 子布局设置拉伸因子,参数为(目标对象, 拉伸值),如setStretchFactor(input_edit, 3),控制水平空间的分配比例(值越大占比越高)。

  18. stretchFactor ():获取指定控件 / 子布局的拉伸因子,返回 int 类型,读取拉伸比例配置(如确认输入框的拉伸因子是否为 3)。

  19. setAlignment ():设置布局内所有控件的统一对齐方式,传入 Qt.Alignment 枚举值(如Qt.AlignVCenter垂直居中、Qt.AlignBottom底部对齐),批量调整控件在垂直方向的对齐。

  20. alignWidget ():为单个控件设置对齐方式,参数为(控件, 对齐方式),精准调整单个控件的对齐(优先级高于全局对齐,如让某个按钮垂直顶部对齐)。

  21. itemAt ():根据索引获取布局项对象,返回 QLayoutItem 实例,可通过itemAt(1).widget()提取第 1 位的控件对象(如获取第二个控件)。

  22. widgetAt ():根据索引直接获取对应的控件对象,返回 QWidget 实例(仅该位置为控件时有效),快速读取布局内的控件(如widgetAt(0)获取第一个控件)。

  23. clear ():清空布局中所有布局项(仅移除关联,不删除控件),快速重置水平布局结构(如切换界面时清空布局)。

  24. invalidate ():标记布局为无效,触发重新计算布局尺寸和位置,适配控件尺寸 / 位置动态修改后的即时更新(如控件内容变化后重新布局)。

  25. setEnabled ():设置布局是否启用,True 为正常布局(控件按水平规则排列)、False 为禁用(控件位置固定),控制布局的生效状态。

总结

QHBoxLayout 核心用法:addWidget () 添加控件、addLayout () 嵌套子布局,setSpacing ()/setContentsMargins () 配置水平间距与外边框,是最基础且高频的操作;

网格布局 Grid Layout (QGridLayout)

QGridLayout 常用方法

注:QGridLayout 是网格布局管理器(非可视化控件),核心作用是将控件按「行 + 列」的网格形式排列,支持控件跨行列显示,是构建复杂界面的核心布局方式,以下是其高频实用方法:

  1. addWidget ():向网格指定位置添加控件,是布局最核心的方法。完整参数为addWidget(控件, 行号, 列号, 行跨度, 列跨度, 对齐方式),基础用法如addWidget(btn, 0, 0)(0 行 0 列添加按钮),跨行列用法如addWidget(label, 1, 0, 1, 2)(1 行 0 列添加标签,跨 1 行 2 列)。

  2. addLayout ():向网格指定位置嵌套子布局(如 QHBoxLayout/QVBoxLayout),参数为addLayout(子布局, 行号, 列号, 行跨度, 列跨度),如addLayout(h_layout, 2, 1, 1, 3),实现网格内嵌套复杂布局结构。

  3. insertWidget ():在指定行 / 列位置插入控件,参数为insertWidget(行号, 列号, 控件, 行跨度=1, 列跨度=1, 对齐方式=Qt.AlignLeft),精准插入控件且不覆盖原有布局项。

  4. insertLayout ():在指定行 / 列位置插入子布局,参数为insertLayout(行号, 列号, 子布局, 行跨度=1, 列跨度=1),精准嵌套子布局到网格指定位置。

  5. addItem ():向网格添加自定义布局项(如 QSpacerItem 空白占位项),参数为addItem(布局项, 行号, 列号, 行跨度, 列跨度),用于手动调整网格空白区域。

  6. removeWidget ():从网格布局中移除指定控件,传入 QWidget 对象(仅解除布局关联,不会删除控件,需手动隐藏 / 销毁)。

  7. takeAt ():移除并返回指定索引的布局项,返回 QLayoutItem 对象,索引按「行优先」排序(0 行 0 列→0 行 1 列→1 行 0 列…),用于动态删除布局项并回收资源。

  8. count ():获取网格布局中所有布局项(控件、子布局、占位项)的总数,返回 int 类型,用于遍历或校验布局项数量。

  9. setRowStretch ():设置指定行的拉伸因子,参数为setRowStretch(行号, 拉伸值),如setRowStretch(0, 2),拉伸值越大,该行分配到的垂直空间越多。

  10. rowStretch ():获取指定行的拉伸因子,返回 int 类型,校验行的拉伸比例配置。

  11. setColumnStretch ():设置指定列的拉伸因子,参数为setColumnStretch(列号, 拉伸值),如setColumnStretch(1, 3),拉伸值越大,该列分配到的水平空间越多。

  12. columnStretch ():获取指定列的拉伸因子,返回 int 类型,校验列的拉伸比例配置。

  13. setSpacing ():设置网格内所有单元格之间的统一间距(行间距 + 列间距),传入整数(如setSpacing(10)),批量调整全局间距。

  14. setRowSpacing ():设置指定两行之间的垂直间距,参数为setRowSpacing(行号, 像素值),如setRowSpacing(0, 15),精准调整某一行的垂直间距。

  15. setColumnSpacing ():设置指定两列之间的水平间距,参数为setColumnSpacing(列号, 像素值),如setColumnSpacing(1, 20),精准调整某一列的水平间距。

  16. spacing ():获取全局网格间距值,返回 int 类型;rowSpacing(行号)/columnSpacing(列号)可分别获取指定行 / 列的间距。

  17. setContentsMargins ():设置布局的外边框边距(左、上、右、下),传入四个整数(如setContentsMargins(10, 10, 10, 10)),控制布局与父控件的间距。

  18. contentsMargins ():获取布局外边框边距,返回 QMargins 对象,可通过.left()/.top()等提取单个方向的边距值。

  19. rowCount ():获取网格布局的总行数,返回 int 类型,用于遍历行或校验网格行数。

  20. columnCount ():获取网格布局的总列数,返回 int 类型,用于遍历列或校验网格列数。

  21. itemAtPosition ():根据行号和列号获取对应位置的布局项,返回 QLayoutItem 对象,如itemAtPosition(0, 0)获取 0 行 0 列的布局项,可通过.widget()提取控件。

  22. widgetAt ():根据行号和列号直接获取对应位置的控件,返回 QWidget 实例(仅该位置为控件时有效),快速读取网格内的控件。

  23. setAlignment ():设置布局内所有控件的统一对齐方式,传入 Qt.Alignment 枚举值(如Qt.AlignCenter居中、Qt.AlignTop顶部对齐),批量调整控件对齐。

  24. setAlignment (控件 / 布局,对齐方式):为单个控件 / 子布局设置对齐方式,如setAlignment(btn, Qt.AlignRight),优先级高于全局对齐。

  25. setRowMinimumHeight ():设置指定行的最小高度,参数为setRowMinimumHeight(行号, 像素值),如setRowMinimumHeight(1, 40),防止行被过度压缩。

  26. setColumnMinimumWidth ():设置指定列的最小宽度,参数为setColumnMinimumWidth(列号, 像素值),如setColumnMinimumWidth(0, 100),防止列被过度压缩。

  27. removeRow ():删除指定行,参数为removeRow(行号),该行所有布局项被移除,后续行自动上移。

  28. removeColumn ():删除指定列,参数为removeColumn(列号),该列所有布局项被移除,后续列自动左移。

  29. clear ():清空网格布局中所有布局项(仅移除关联,不删除控件),快速重置网格结构。

  30. invalidate ():标记布局为无效,触发重新计算网格尺寸和控件位置,适配控件尺寸 / 位置动态修改后的即时更新。

总结

QGridLayout 核心用法:addWidget ()(支持跨行列)添加控件、addLayout () 嵌套子布局,setRowStretch ()/setColumnStretch () 配置行列拉伸因子,是最基础且高频的操作;

表单布局 Form Layout (QFormLayout)

QFormLayout 常用方法

注:QFormLayout 是表单布局管理器(非可视化控件),核心作用是按「标签 - 字段」的两列形式排列控件,专门适配登录页、设置页等表单类界面,以下是其高频实用方法:

  1. addRow ():添加一行表单(标签 + 字段),是布局最核心的方法,支持三种灵活用法:

  2. 文本标签 + 字段:addRow("用户名:", QLineEdit())(自动创建 QLabel 作为标签);

  3. 控件标签 + 字段:addRow(QLabel("密码:"), QLineEdit())(自定义标签控件);

  4. 仅字段:addRow(QPushButton("提交"))(整行占两列,无标签)。

  5. insertRow ():在指定索引位置插入一行表单,参数为insertRow(索引, 标签/文本, 字段控件),如insertRow(0, "手机号:", QLineEdit()),精准插入行且不覆盖原有内容。

  6. removeRow ():删除指定索引的行,参数为removeRow(索引),该行控件仅解除布局关联(不删除),后续行自动上移(如删除多余的表单项)。

  7. takeRow ():移除并返回指定索引的行,返回QFormLayout::RowItem对象,可回收该行的标签 / 字段控件(如takeRow(1)获取第二行控件并移除)。

  8. rowCount ():获取表单布局的总行数,返回 int 类型,用于遍历表单行、校验表单项数量(如判断是否有未填写的行)。

  9. setWidget ():修改指定行的标签 / 字段控件,参数为setWidget(行号, 角色, 控件),角色可选QFormLayout.LabelRole(标签列)/FieldRole(字段列),如setWidget(0, QFormLayout.FieldRole, QLineEdit("默认值"))。

  10. widget ():获取指定行的标签 / 字段控件,参数为widget(行号, 角色),返回 QWidget 实例,如widget(0, QFormLayout.LabelRole)获取第一行标签控件。

  11. setLabelAlignment ():设置所有标签列的统一对齐方式,传入 Qt.Alignment 枚举值(如Qt.AlignRight | Qt.AlignVCenter),如setLabelAlignment(Qt.AlignRight)让所有标签右对齐,是表单美观的核心配置。

  12. labelAlignment ():获取标签列的对齐方式,返回 Qt.Alignment 枚举值,校验标签对齐规则是否符合预期。

  13. setFormAlignment ():设置整个表单布局相对于父控件的对齐方式,传入 Qt.Alignment 枚举值(如Qt.AlignCenter居中、Qt.AlignTop顶部对齐),控制表单整体位置。

  14. formAlignment ():获取表单整体的对齐方式,返回 Qt.Alignment 枚举值,校验表单在父控件中的布局位置。

  15. setFieldGrowthPolicy ():设置字段列的拉伸策略,核心可选值:

  16. QFormLayout.FieldsStayAtSizeHint(字段保持默认尺寸);

  17. ExpandingFieldsGrow(可扩展字段自动拉伸,默认);

  18. AllNonFixedFieldsGrow(所有非固定字段拉伸),控制字段列是否自适应宽度。

  19. fieldGrowthPolicy ():获取字段列的拉伸策略,返回对应的枚举值,校验字段宽度的自适应规则。

  20. setRowWrapPolicy ():设置行的换行策略(适配窄界面),核心可选值:

  21. QFormLayout.DontWrapRows(不换行,标签 + 字段同行,默认);

  22. WrapLongRows(长标签自动换行到字段上方);

  23. WrapAllRows(所有标签换行到字段上方),解决窄窗口下表单显示拥挤的问题。

  24. rowWrapPolicy ():获取行的换行策略,返回对应的枚举值,校验表单的换行规则。

  25. setSpacing ():设置表单内行与行之间的垂直间距,传入整数(如setSpacing(12)),批量调整全局行间距。

  26. spacing ():获取行之间的垂直间距值,返回 int 类型,校验行间距配置。

  27. setHorizontalSpacing ():设置标签列与字段列之间的水平间距,传入整数(如setHorizontalSpacing(15)),精准调整两列的间距(比全局 spacing 更精细化)。

  28. horizontalSpacing ():获取标签与字段列的水平间距,返回 int 类型,校验列间距配置。

  29. setVerticalSpacing ():等同于setSpacing(),专门设置垂直行间距,参数为整数,语义更清晰(如setVerticalSpacing(10))。

  30. verticalSpacing ():获取垂直行间距,返回 int 类型,与spacing()效果一致。

  31. setContentsMargins ():设置布局的外边框边距(左、上、右、下),传入四个整数(如setContentsMargins(10, 10, 10, 10)),控制表单与父控件的间距(如表单离窗口边缘的距离)。

  32. contentsMargins ():获取外边框边距,返回 QMargins 对象,可通过.left()/.top()等提取单个方向的边距值。

  33. setRowMinimumHeight ():设置指定行的最小高度,参数为setRowMinimumHeight(行号, 像素值),如setRowMinimumHeight(2, 40),防止行被过度压缩(如字段是多行输入框时)。

  34. rowMinimumHeight ():获取指定行的最小高度,返回 int 类型,校验行高是否满足显示需求。

  35. setItem ():修改指定行的标签 / 字段布局项,参数为setItem(行号, 角色, 布局项),如setItem(1, QFormLayout.FieldRole, QSpacerItem(10, 10)),自定义空白占位项。

  36. item ():获取指定行的标签 / 字段布局项,参数为item(行号, 角色),返回 QLayoutItem 对象,用于高级布局调整。

  37. clear ():清空表单布局中所有行(仅解除布局关联,不删除控件),快速重置表单结构(如表单提交后清空内容时使用)。

  38. invalidate ():标记布局为无效,触发重新计算表单尺寸和控件位置,适配控件动态修改后的即时更新(如字段内容变化、标签文本修改后)。

  39. setAlignment (控件,对齐方式):为单个控件(标签 / 字段)设置对齐方式,如setAlignment(username_edit, Qt.AlignLeft),优先级高于全局对齐规则。

总结

QFormLayout 核心用法:addRow ()(支持文本 / 控件标签 + 字段)添加表单行、insertRow () 精准插入行,setLabelAlignment () 统一标签对齐方式,是最基础且高频的操作;

结束语

1

后续我会持续输出优质、实用的内容,也欢迎大家在评论区留言,说说你们最想学习的内容、遇到的困惑,我们一起交流、一起进步。

愿每一位软件人,都能在这里收获知识、突破自我,在自己的赛道上发光发热✨

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 10:05:50 HTTP/2.0 GET : https://f.mffb.com.cn/a/482844.html
  2. 运行时间 : 0.091108s [ 吞吐率:10.98req/s ] 内存消耗:4,784.38kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=d55ded22196128fabe1cac41c87ec81c
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000465s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000853s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000322s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000271s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000478s ]
  6. SELECT * FROM `set` [ RunTime:0.000189s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000543s ]
  8. SELECT * FROM `article` WHERE `id` = 482844 LIMIT 1 [ RunTime:0.000414s ]
  9. UPDATE `article` SET `lasttime` = 1774577150 WHERE `id` = 482844 [ RunTime:0.005442s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000237s ]
  11. SELECT * FROM `article` WHERE `id` < 482844 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000529s ]
  12. SELECT * FROM `article` WHERE `id` > 482844 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000355s ]
  13. SELECT * FROM `article` WHERE `id` < 482844 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.005815s ]
  14. SELECT * FROM `article` WHERE `id` < 482844 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002401s ]
  15. SELECT * FROM `article` WHERE `id` < 482844 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000889s ]
0.092716s