在QTreeWidget的方法中,对于itemBelow、itemAbove方法,官网文档介绍非常简单。
生成的模块文件中对应界面类为Ui_mainWin,模块文件名为ui_treeWidget.py。
item=c:\,NoaboveItem,belowItem=d:\item=c:\temp,NoaboveItem,belowItem=c:\item=c:\Python,NoaboveItem,belowItem=c:\item=d:\,aboveItem=c:\,belowItem=e:\item=d:\work,NoaboveItem,belowItem=c:\item=d:\tools,NoaboveItem,belowItem=c:\item=ue.exe,NoaboveItem,belowItem=c:\item=pycharm.exe,NoaboveItem,belowItem=c:\item=designer.exe,NoaboveItem,belowItem=c:\item=d:\study,NoaboveItem,belowItem=c:\item=e:\,aboveItem=d:\,NobelowItem可以看到顶层项的aboveItem指向顶层上一节点项,如果没有则是None,belowItem指向顶层下一节点项,如果没有则是None。但子项全部没有aboveItem,belowItem全部指向顶层第一个节点。老猿为此做了很多测试,包括调整项的构建顺序、插入顺序、一次插入多个子项或逐个插入等,结论都是一样。
item=c:\,NoaboveItem,belowItem=d:\item=c:\temp,NoaboveItem,belowItem=c:\item=c:\Python,NoaboveItem,belowItem=c:\item=d:\,aboveItem=c:\,belowItem=d:\workitem=d:\work,aboveItem=d:\,belowItem=d:\toolsitem=d:\tools,aboveItem=d:\work,belowItem=ue.exeitem=ue.exe,aboveItem=d:\tools,belowItem=pycharm.exeitem=pycharm.exe,aboveItem=ue.exe,belowItem=designer.exeitem=designer.exe,aboveItem=pycharm.exe,belowItem=d:\studyitem=d:\study,aboveItem=designer.exe,belowItem=e:\item=e:\,aboveItem=d:\study,NobelowItem可以看到在界面上可见的项的aboveItem指向界面上在它之上的第一个项,belowItem指向界面下面在其下可见的第一个项,未显示的项全部没有aboveItem,belowItem全部指向顶层第一个节点。
以上结论老猿经过多次验证最终得出。我们再看一个所有子项完全展开的例子。界面:
item=c:\,NoaboveItem,belowItem=c:\tempitem=c:\temp,aboveItem=c:\,belowItem=c:\Pythonitem=c:\Python,aboveItem=c:\temp,belowItem=d:\item=d:\,aboveItem=c:\Python,belowItem=d:\workitem=d:\work,aboveItem=d:\,belowItem=d:\toolsitem=d:\tools,aboveItem=d:\work,belowItem=ue.exeitem=ue.exe,aboveItem=d:\tools,belowItem=pycharm.exeitem=pycharm.exe,aboveItem=ue.exe,belowItem=designer.exeitem=designer.exe,aboveItem=pycharm.exe,belowItem=d:\studyitem=d:\study,aboveItem=designer.exe,belowItem=e:\item=e:\,aboveItem=d:\study,NobelowItem