当前位置:首页>java>QSS 编程终极指南:深入 Qt 样式表引擎、盒子模型与高性能 UI 定制实战

QSS 编程终极指南:深入 Qt 样式表引擎、盒子模型与高性能 UI 定制实战

  • 2026-02-04 21:40:26
QSS 编程终极指南:深入 Qt 样式表引擎、盒子模型与高性能 UI 定制实战
副标题:从选择器语法到渲染机制,掌握 Qt Style Sheets 的底层原理与工业级应用技巧
引言:为什么 QSS 是 Qt UI 开发的“秘密武器”?
在 Qt 应用开发中,QWidget 提供了强大的功能,但默认外观往往难以满足现代 UI 设计需求。虽然可以通过重写 paintEvent() 实现完全自定义绘制,但这意味着高昂的开发成本和维护复杂度。
Qt Style Sheets(QSS)—— 基于 CSS2 规范的样式表系统 —— 为开发者提供了一种声明式、高效、可维护的界面美化方案。它不仅能快速实现圆角按钮、渐变背景、悬停动画等效果,还能通过精细控制盒子模型伪状态子控件,实现媲美 Web 的视觉体验。
然而,许多开发者仅停留在 background-color: red; 的初级用法,对 QSS 的渲染机制、性能陷阱、盒模型计算等核心概念知之甚少,导致界面卡顿、样式失效或跨平台不一致。
本文将带你深入 QSS 引擎内部,系统讲解其语法体系、盒模型原理、选择器优先级、性能优化策略,并结合 ARM 嵌入式平台的实际案例,助你从“会用”迈向“精通”。

一、QSS 基础:语法与选择器体系

QSS 语法高度兼容CSS2,但针对 Qt 控件做了扩展。

1.1 基本语法结构

Selector {    property: value;    border1px solid #ccc;    border-radius4px;}

1.2 核心选择器类型

选择器示例说明
类型选择器QPushButton匹配所有 QPushButton
属性选择器QPushButton[urgent="true"]匹配属性 urgent 为 "true" 的按钮
ID 选择器#okButton匹配 setObjectName("okButton") 的控件
后代选择器QDialog QPushButtonQDialog 内的所有 QPushButton
子控件选择器QComboBox::drop-downQComboBox 的下拉箭头子部件
伪状态选择器QPushButton:hover鼠标悬停状态

💡 关键提示:QSS 中的“子控件”(如 ::indicator::groove)是 Qt 特有概念,对应控件内部的可样式化部件。


二、QSS 盒子模型:理解控件尺寸与布局的核心

与 HTML/CSS 一样,QSS 盒子模型决定了控件的最终尺寸和绘制区域。每个 QWidget 在样式渲染时都被视为一个矩形盒子,由四部分组成:

不同部分的说明:

  • Margin(外边距)
     - 清除边框外的区域,外边距是透明的。
  • Border(边框)
     - 围绕在内边距和内容外的边框。
  • Padding(内边距)
     - 清除内容周围的区域,内边距是透明的。
  • Content(内容)
     - 盒子的内容,显示文本和图像。

为了正确设置元素在所有浏览器中的宽度和高度,你需要知道的盒模型是如何工作的。

2.1 盒模型四要素详解

层级QSS 属性作用是否影响布局
Contentwidthheight内容区域大小✅ 是(最小尺寸)
Paddingpaddingpadding-left 等内边距,内容与边框间距✅ 是
Borderborderborder-width边框宽度与样式✅ 是
Marginmarginmargin-top 等外边距,控件与其他元素间距❌ 否(仅视觉偏移)

⚠️ 重要区别

  • margin 不参与 Qt 布局管理器(QLayout)的尺寸计算!它仅在 QSS 渲染时产生视觉偏移。
  • 若需控制控件在布局中的实际间距,请使用 QLayout::setSpacing() 或 QSpacerItem

2.2 盒模型计算示例

假设一个 QPushButton 设置如下:
QPushButton {    width100px;    height30px;    padding5px 10px;    border2px solid black;    margin10px;}
则其总占用空间为:
  • 内容区:100 × 30 px
  • 含 padding + border:(100 + 2×10 + 2×2) × (30 + 2×5 + 2×2) =124 × 44 px
  • 视觉外延(含 margin):124 + 2×10 =144 px 宽(但布局系统仍按 124px 排布)

📌 实践建议:在嵌入式小屏设备上,避免滥用 margin,优先使用 padding 和布局间距控制 UI。


三、高级特性:伪状态、子控件与动态样式

3.1 伪状态(Pseudo-States):响应用户交互

QSS 支持丰富的伪状态,实现交互动效:
QPushButton {    background: lightgray;}QPushButton:hover {    background: gray;}QPushButton:pressed {    background: darkgray;}QPushButton:disabled {    background#eee;}
常用伪状态
  • :hover、:pressed、:focus
  • :checked(用于 QCheckBox、QRadioButton)
  • :open(QComboBox 下拉展开时)
  • :first、:last(列表项位置)

3.2 子控件(Sub-controls):精细控制复合控件

以 QSlider 为例:
QSlider::groove:horizontal {    height6px;    background#bbb;    border-radius3px;}QSlider::handle:horizontal {    width18px;    height18px;    background: white;    border1px solid #999;    border-radius9px;    margin: -6px 0/* 负 margin 使滑块超出 groove */}

🔍 调试技巧:使用 qDebug() << widget->styleSheet(); 查看运行时样式,或借助 Qt Designer 实时预览。


四、性能优化:避免 QSS 的“隐形杀手”

QSS 虽强大,但不当使用会导致重绘风暴内存泄漏,尤其在 ARM 嵌入式平台。

4.1 性能陷阱与对策

问题原因解决方案
频繁重绘使用 background-image 加载大图改用 QPixmapCache 或 border-image 切片
选择器效率低过度使用后代选择器 A B C D尽量用 ID 或类选择器,减少嵌套
内存增长动态设置大量唯一样式表合并通用样式,避免 setStyleSheet() 每次新建字符串
字体闪烁在样式中频繁切换 font-family预加载字体,使用统一字体栈

4.2 推荐实践

  • 全局样式 vs 局部样式:全局样式(qApp->setStyleSheet())效率更高,避免为每个控件单独设置。
  • 使用 border-image 替代 background-image:border-image 支持九宫格拉伸,节省内存且适配不同尺寸。
QPushButton {    border-imageurl(:/btn_normal.png4 4 4 4 stretch;}
  • 禁用不必要的动画
Qt 5.12 默认启用部分过渡动画,可通过 QStyleHints 关闭:
qApp->styleHints()->setMousePressAndHoldInterval(0);

五、跨平台与嵌入式适配

5.1 平台差异处理

QSS 在 Windows、Linux、macOS 上渲染略有不同。可通过平台限定符解决:
/* 仅 Linux 生效 */QWidget[platform="xcb"] {    font-size10pt;}/* 仅 Windows 生效 */QWidget[platform="windows"] {    font-size9pt;}

在代码中设置平台属性:

#ifdef Q_OS_WIN    qApp->setProperty("platform""windows");#elif defined(Q_OS_LINUX)    qApp->setProperty("platform""xcb");#endif

5.2 ARM 嵌入式优化建议

  • 使用纯色或简单渐变替代图片背景
  • 避免opacity(透明度)属性,改用 RGBA 颜色
  • 控件尺寸尽量为偶数,提升 GPU 渲染效率(若使用 EGLFS)

六、完整示例:现代化按钮组件

/* modern_button.qss */ModernButton {    backgroundqlineargradient(x1:0, y1:0, x2:0, y2:1,                                stop:0 #4CAF50, stop:1 #2E7D32);    border: none;    border-radius6px;    color: white;    padding8px 16px;    font-size12pt;    min-width80px;    min-height32px;}ModernButton:hover {    backgroundqlineargradient(x1:0, y1:0, x2:0, y2:1,                                stop:0 #66BB6A, stop:1 #388E3C);}ModernButton:pressed {    backgroundqlineargradient(x1:0, y1:0, x2:0, y2:1,                                stop:0 #388E3C, stop:1 #1B5E20);}ModernButton:disabled {    background#CCCCCC;    color#999999;}

在 C++ 中使用:

// 继承 QPushButton 并设置 objectName 或自定义类名QPushButton *btn = new QPushButton("Click Me");btn->setObjectName("ModernButton"); // 或使用 qApp->setStyleSheet() 全局生效

结语:QSS 不只是“美化”,更是工程艺术

掌握 QSS 的盒子模型、选择器机制与性能边界,意味着你不仅能快速实现设计师的高保真稿,还能在资源受限的嵌入式设备上构建流畅、稳定、可维护的用户界面。

记住:最好的 UI 代码,是那些让功能与美学无缝融合的代码。而 QSS,正是 Qt 赋予你的那支画笔。


附录:QSS 支持属性速查表

  • Qt 官方文档:Qt Style Sheets Reference
  • 盒模型属性:width,height,min/max-width/height,padding,margin,border
  • 背景属性:background-color,background-image,border-image
  • 字体属性:font-family,font-size,font-weight
  • 伪状态::hover,:pressed,:checked,:disabled,:focus

更多精彩推荐:

Android开发集

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选从 AIDL 到 HIDL:跨语言 Binder 通信的自动化桥接与零拷贝回调优化全栈指南

C/C++编程精选

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选宏之双刃剑:C/C++ 预处理器宏的威力、陷阱与现代化演进全解

开源工场与工具集

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选nlohmann/json:现代 C++ 开发者的 JSON 神器

MCU内核工坊

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选STM32:嵌入式世界的“瑞士军刀”——深度解析意法半导体32位MCU的架构演进、生态优势与全场景应用

拾光札记簿

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选周末遛娃好去处!黄河之巅畅享亲子欢乐时光

数智星河集

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选被算法盯上的岗位:人工智能优先取代的十大职业深度解析与人类突围路径

Docker 容器

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选Docker 原理及使用注意事项(精要版)

linux开发集

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选零拷贝之王:Linux splice() 全面深度解析与高性能实战指南

青衣染霜华

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选脑机接口:从瘫痪患者的“意念行走”到人类智能的下一次跃迁

QT开发记录-专栏

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选Qt 样式表(QSS)终极指南:打造媲美 Web 的精美原生界面

Web/webassembly技术情报局

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选WebAssembly 全栈透视:从应用开发到底层执行的完整技术链路与核心原理深度解析

数据库开发

青衣霜华渡白鸽,公众号:清荷雅集-墨染优选ARM Linux 下 SQLite3 数据库使用全方位指南

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-07 23:40:55 HTTP/2.0 GET : https://f.mffb.com.cn/a/467628.html
  2. 运行时间 : 0.109661s [ 吞吐率:9.12req/s ] 内存消耗:4,656.34kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=f6361fc3ae87f3a8c03c6add19f9a364
  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.000607s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000791s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001162s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003736s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000645s ]
  6. SELECT * FROM `set` [ RunTime:0.000326s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000659s ]
  8. SELECT * FROM `article` WHERE `id` = 467628 LIMIT 1 [ RunTime:0.001516s ]
  9. UPDATE `article` SET `lasttime` = 1770478855 WHERE `id` = 467628 [ RunTime:0.022846s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000581s ]
  11. SELECT * FROM `article` WHERE `id` < 467628 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000721s ]
  12. SELECT * FROM `article` WHERE `id` > 467628 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000370s ]
  13. SELECT * FROM `article` WHERE `id` < 467628 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001232s ]
  14. SELECT * FROM `article` WHERE `id` < 467628 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005878s ]
  15. SELECT * FROM `article` WHERE `id` < 467628 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002495s ]
0.111249s