QTreeWidget绑定QTabWidget
QTreeWidget绑定QTabWidget
本文仅供本人知识总结使用,所以内容会比较浅显,不喜勿喷。
一、通过treeWidget路径配合tab页面的ObjectName的绑定#
这方法纯纯臭鱼烂虾,主要也是当时没想到python这么离谱,可以直接这样给对象加成员变量(属性)。之前大学基本都是学JSP和J2EE的所以java用的比较多,但是对java底层的这些东西也不太熟悉,我觉得是框架用多的弊端,再加上java基础就学了一个学期而已,做个了java的桌面应用程序就完事了。行,题外话就到这,要是有那位大佬知道java也可以类似方法二这样绑定的,能否Tell Me一下,谢谢。
这个方法的弊端就是item.text(0)
会有重复的,那么item
在treeWidget
的path
就不唯一,那么就不能用这么表层的地方进行绑定。
虽然有方法可以解决,就是item有重复的直接在path里面加上,当前item是第几个就行了,但是我找到更好的方法(方法二)实现了,这个就不管了,留在这提供个思路。
# 获取到当前项
item = self.ui.treeWidget.currentItem()
# treeWidget路径
path = ''
# 代替item进行循环
item_temp = item
while item_temp:
path = item.text(0) + '>' + path
item_temp = item_temp.parent()
tab = QWidget()
tab.setObjectName(path)
二、使用对象的属性(成员变量)进行绑定#
目前看来,好像只有Python可以,直接给对象添加属性,反正使用对象的属性来进行绑定,在我看来这才是真正意义上的绑定,上面那个方法纯纯臭鱼烂虾,主要是当时没想到python这么离谱,可以这样给对象加成员变量(属性)。
# 获取到当前项
item = self.ui.treeWidget.currentItem()
# 用QTreeWidget的当前项item
item.tab = QWidget()
item.tab.setObjectName("item_tab")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码