当前位置:首页>python>面试突破 | Python GUI入门基石:tkinter.Tk 全解与高频面试题

面试突破 | Python GUI入门基石:tkinter.Tk 全解与高频面试题

  • 2026-03-23 20:14:35
面试突破 | Python GUI入门基石:tkinter.Tk 全解与高频面试题

3.23

Python GUI入门基石:tkinter.Tk 全解与高频面试题

当你需要在Python中快速创建图形界面,tkinter是标准库中不二的选择。而Tk类,正是这一切的起点——那个你看到的第一个窗口。

理解Tk,不仅是掌握tkinter的钥匙,也是面试中展示你GUI基础与对象思维的绝佳机会。

1

核心认知:Tk是什么?

简单说:tkinter.Tk是一个类。创建一个Tk类的实例,就等于启动了一个GUI应用程序,并生成了最顶层的主窗口(根窗口)。

深入看:这个实例不仅是窗口,更是整个GUI程序的主事件循环的控制中心。它管理着所有控件(按钮、文本框等)、处理用户事件(点击、键盘输入),并负责与操作系统窗口管理器通信。

与tkinter模块的关系:

① tkinter是Python的标准GUI工具包,它是对Tcl/Tk GUI工具集的Python接口封装。

② Tk是tkinter模块中最核心的类,是构建任何tkinter应用程序的第一步。

import tkinter as tk  # 通常导入为tk,这是广泛遵循的约定# 创建Tk类的实例,也就是创建了应用程序对象和主窗口root = tk.Tk()# 此时,一个“隐形”的窗口已经存在,但需要进入主循环才会显示root.mainloop()  # 启动事件主循环,让窗口显示并开始响应用户

面试点睛:能清晰说出 Tk()是类的实例化,而不仅仅是“调用一个函数”,体现了你的面向对象思维。

2

基础必备:创建你的第一个窗口

面试中,手写一个基本窗口创建代码是常见要求。

(1)写出用tkinter创建一个最基础窗口的代码,并设置标题和初始大小。

参考答案

import tkinter as tk# 1. 实例化Tk类,创建应用程序主窗口对象app = tk.Tk()  # 这个对象常被命名为 root, window, app, master# 2. 配置主窗口属性app.title("我的第一个GUI应用")  # 设置窗口标题app.geometry("400x300")         # 设置窗口初始大小 "宽x高"# app.resizable(False, False)   # 可选:禁止用户调整窗口大小# 3. 在这里可以开始添加按钮、标签等控件 (Widgets)label = tk.Label(app, text="Hello, Tkinter!")label.pack(pady=20)  # 将标签放置到窗口上# 4. 启动主事件循环app.mainloop()

关键点解释

① app = tk.Tk(): 创建一个应用实例。虽然技术上可以创建多个Tk实例,但在绝大多数情况下,一个程序应只有一个Tk实例(单例模式是常见实践)。多个Tk实例可能导致事件循环冲突。

② app.mainloop(): 这是关键。程序执行到这里会进入一个无限循环(即主事件循环),持续监听操作系统发来的事件(如鼠标点击、键盘按下、窗口重绘请求),并调用相应的处理函数。mainloop()之后的代码,在窗口关闭前不会执行

3

高频面试题剖析

(1)mainloop()方法的作用是什么?程序运行到它时发生了什么?

参考答案

mainloop()是Tk应用程序的心脏。它的核心作用是启动事件驱动编程的引擎。

① 事件循环:程序进入一个持续的循环,阻塞在mainloop()这一行。

② 事件监听:在这个循环中,Tk的窗口系统会监听所有事件,包括:

a、用户交互事件(鼠标点击、移动、键盘输入)。

b、窗口系统事件(窗口被放大、缩小、移动、暴露)。

c、由程序自身产生的事件(如after定时器超时)。

③ 事件分发:一旦事件发生,主循环会将其放入事件队列,并按顺序调用为该事件绑定的处理函数(回调函数)。

④ 循环终止:当主窗口被销毁(例如用户点击关闭按钮),mainloop()循环才会结束,程序继续执行其后的代码(如果有)。

简单比喻:mainloop()就像一个永不疲倦的接待员,它坐在前台,一直等待“事件”这位客人上门。客人来了(发生了点击),接待员就查表(事件绑定)找到该由哪个“负责人”(回调函数)来处理,然后通知负责人去工作。直到公司下班(窗口关闭),接待员才下班。

(2)为什么通常一个tkinter程序只有一个Tk()实例?可以创建多个吗?

参考答案

① 通常一个:这是最佳实践。因为每个Tk实例都带有一个独立的、完整的主事件循环(mainloop)和Tcl解释器环境。单个事件循环足以管理一个应用的所有窗口和控件。创建多个Tk实例意味着运行多个独立的主循环,这通常会导致资源浪费、消息处理复杂化,甚至出现意想不到的界面问题(如模态对话框失效)。

② 可以,但不推荐:技术上,tkinter允许创建多个Tk实例,每个实例会弹出独立的主窗口,且每个都需要自己的mainloop()。但这会让程序架构变得复杂,且两个窗口之间的事件循环是完全独立的,协调困难。面试时表明“知道可以但强烈不建议”能体现你的工程权衡能力。

更好的选择:如果需要多个窗口,应使用Toplevel控件来创建附加窗口。Toplevel从属于一个Tk主窗口,共享同一个事件循环,是管理多窗口应用的推荐方式。

import tkinter as tkdef create_new_window():    new_win = tk.Toplevel(root)  # 正确:创建从属窗口    new_win.title("子窗口")root = tk.Tk()tk.Button(root, text="开新窗", command=create_new_window).pack()root.mainloop()

(3)Tk实例的常用配置方法有哪些?(考察对API的熟悉度)

参考答案

Tk实例(主窗口对象)提供了丰富的方法来配置窗口和行为:

root = tk.Tk()# 1. 窗口外观与几何root.title("应用程序标题")          # 设置窗口标题栏文本root.geometry("800x600+100+50")    # 格式:"宽x高±X偏移±Y偏移"root.minsize(300, 200)             # 设置窗口最小尺寸root.maxsize(1920, 1080)           # 设置窗口最大尺寸root.resizable(True, False)        # 控制窗口是否可调整宽/高root.attributes('-topmost', 1)     # 设置窗口置顶 (平台相关)# 2. 窗口行为root.iconify()                     # 最小化窗口root.deiconify()                   # 从最小化恢复root.state('zoomed')               # 最大化 (或 'iconic'最小化)root.protocol("WM_DELETE_WINDOW", on_closing) # 拦截关闭按钮事件# 3. 获取信息current_geometry = root.geometry()  # 获取当前几何字符串root.update_idletasks()             # 强制更新界面,常用于获取正确尺寸width = root.winfo_width()          # 获取窗口内部区域当前宽度height = root.winfo_height()        # 获取高度

(4)解释 tkinter中常见的几何管理器(Geometry Manager)。如何在 Tk主窗口中使用?

参考答案

几何管理器负责决定控件在窗口(或容器)中的位置和大小。Tk主窗口本身作为一个顶级容器,其内部的控件也需要通过几何管理器来放置。

三种主要几何管理器:

① pack():按照添加顺序,将控件“打包”到父容器的一侧(上、下、左、右)。简单快速,适合简单布局。

label1.pack(side="top", fill="x", padx=10, pady=5)label2.pack(side="left", expand=True)

② grid():将父容器想象成一个表格(网格),通过行号和列号来放置控件。功能强大,适合复杂表单布局。

name_label.grid(row=0, column=0, sticky="w")name_entry.grid(row=0, column=1, sticky="ew")

③ place():允许你通过绝对坐标或相对位置来精确指定控件的位置和大小。最灵活但也最难维护,通常只在特殊需求下使用。

button.place(x=100, y=150, width=80, height=30)# 或相对位置button.place(relx=0.5, rely=0.5, anchor="center")

重要原则不要混合使用pack和grid在同一个父容器内,这会导致布局管理器冲突和不可预测的行为。Tk主窗口作为顶级容器,其内部通常直接使用pack或grid。

4

实战:一个标准的Tk应用模板

掌握以下模板,面试时能快速搭建框架:

import tkinter as tkfrom tkinter import messagebox  # 导入子模块classMyApplication:    """一个使用类的典型Tk应用结构,更易于管理"""    def __init__(self):        # 1. 创建主窗口        self.root = tk.Tk()        self.root.title("标准应用模板")        self.root.geometry("500x400")        # 2. 构建界面        self._create_widgets()        # 3. 绑定事件 (可选)        self.root.protocol("WM_DELETE_WINDOW"self.on_closing)    def _create_widgets(self):        """创建和放置所有控件"""        self.label = tk.Label(self.root, text="欢迎使用", font=("Arial"16))        self.label.pack(pady=20)        self.entry = tk.Entry(self.root, width=30)        self.entry.pack(pady=10)        self.entry.insert(0"输入一些内容")        self.button = tk.Button(self.root, text="点击我", command=self.on_button_click)        self.button.pack(pady=10)        self.text = tk.Text(self.root, height=10)        self.text.pack(fill="both", expand=True, padx=20, pady=10)    def on_button_click(self):        """按钮点击事件的回调函数"""        content = self.entry.get()        self.text.insert("end"f"你输入了:{content}\n")        self.entry.delete(0"end")  # 清空输入框    def on_closing(self):        """关闭窗口时的确认"""        if messagebox.askokcancel("退出""确定要退出程序吗?"):            self.root.destroy()  # 销毁窗口,结束mainloop    def run(self):        """启动应用"""        self.root.mainloop()if __name__ == "__main__":    app = MyApplication()    app.run()  # 进入主事件循环

5

总结与面试要点

  • 核心地位:tkinter.Tk类是任何tkinter GUI程序的唯一入口和总控中心。其实例化 (root = tk.Tk()) 是第一步。

  • 生命循环:mainloop()是程序运行的驱动引擎,它启动事件循环,使界面得以响应。理解其阻塞特性和事件处理模型是关键。

  • 单例实践:牢记“一个程序,一个Tk实例,一个mainloop”。多窗口用Toplevel。

  • 对象思维:将Tk实例看作一个可配置、可交互的对象,熟练使用其title(), geometry(), resizable()等方法配置窗口。

  • 几何管理:理解pack、grid、place的差异及“不混用”原则,知道如何将控件放置到Tk主窗口中。

Tk是你在GUI世界画下的第一个点,从这个点出发,你可以延伸出无数的线和面,构建出丰富的交互体验。 从理解这一个类开始,逐步深入控件、事件绑定、布局与MVC模式,你的GUI开发之路将豁然开朗。

你在使用tkinter创建第一个窗口时,遇到过什么印象深刻的问题或有趣的实现吗?欢迎分享。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-03-27 09:57:59 HTTP/2.0 GET : https://f.mffb.com.cn/a/482383.html
  2. 运行时间 : 0.145784s [ 吞吐率:6.86req/s ] 内存消耗:4,511.07kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=3ea8662c95c972186ad1cc3e5225dfec
  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.000956s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001735s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000774s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000783s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001450s ]
  6. SELECT * FROM `set` [ RunTime:0.000570s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000546s ]
  8. SELECT * FROM `article` WHERE `id` = 482383 LIMIT 1 [ RunTime:0.000502s ]
  9. UPDATE `article` SET `lasttime` = 1774576679 WHERE `id` = 482383 [ RunTime:0.014618s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000348s ]
  11. SELECT * FROM `article` WHERE `id` < 482383 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000550s ]
  12. SELECT * FROM `article` WHERE `id` > 482383 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000642s ]
  13. SELECT * FROM `article` WHERE `id` < 482383 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000632s ]
  14. SELECT * FROM `article` WHERE `id` < 482383 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002732s ]
  15. SELECT * FROM `article` WHERE `id` < 482383 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000925s ]
0.147389s