refactor(vpui): 引入 tkinter 式类层次 Misc/Wm/BaseWidget/Widget,新增容器控件 Frame

层次:Misc(mixin:master/tk + winfo_master/toplevel + bind/unbind) ├─ Tk(Wm, Misc) └─ BaseWidget(Misc) └─ Widget(BaseWidget) ← Label/Button/Entry/Scrollbar/FBCanvas/Text/Frame 全部继承 Widget。约束按 Test/MultiInheritTest 的布局模型:父类字段展平进子类、非首基类必须无字段(故 Wm 无字段)、基类方法内不做 self.<虚拟> 自我分派(多继承非最左基类的虚表索引会整体后移)。控件 master 由 Widget* 改为 Misc*(Tk* 成为合法上转型),原先 8 处 Tk*(self.master) 裸转改为 self.tk;事件派发统一走 BaseWidget.dispatch_event(先跑 bind 回调再 handle_event)。中文。
This commit is contained in:
TermiNexus committed 2026-10-16 16:29:04 +08:00
1 parent 7b58758603
commit f8b37564da
1 file changed
+495 -229
+495 -229
View File
File diff suppressed because it is too large. Load diff