首页 > tkinter treeview的两个问题:1.首列很宽 2.insert用法

tkinter treeview的两个问题:1.首列很宽 2.insert用法

啥都不说,先看代码,winpython3.4的环境,问题在代码后描述

class MainForm:
    def __init__(self):
        self.root=Tk()
        self.frame=self.studentsFrame()
        self.w=720
        self.h=400
        self.frame.pack()
        self.root.mainloop()
#4@books prepares
    def booksFrame(self):
        frame=Frame(self.root,width=self.w,height=self.h)
        #frame.grid(row=0,column=0,sticky=W)        
        #frame.pack(padx=0,pady=0)
        #Label(frame, text = '所有学生').pack(side=TOP)
        tree = ttk.Treeview(frame,height=18, columns=('a','b','c','d','e','f'))
        tree.column('a', width=140, anchor='center')
        tree.column('b', width=60, anchor='center')
        tree.column('c', width=80, anchor='center')
        tree.column('d', width=80, anchor='center')
        tree.column('e', width=80, anchor='center')
        tree.column('f', width=40, anchor='center')
        tree.heading('a', text='书名')
        tree.heading('b', text='作者')
        tree.heading('c', text='出版时间')
        tree.heading('d', text='出版社')
        tree.heading('e', text='类型')
        tree.heading('f', text='库存')        
        vbar = ttk.Scrollbar(frame,orient=VERTICAL,command=tree.yview)
        tree.configure(yscrollcommand=vbar.set)
        #tree.pack()
        #vbar.pack()        
        tree.grid(row=0,column=0,sticky=NSEW)
        vbar.grid(row=0,column=1,sticky=NS)
        items=getBooks()
        i=0
        for item in items:
            tree.insert('',i,values=("《"+item[1]+"》",item[2],item[3],item[4],item[5],item[6]))
            i=i+1
        return frame
       

部分窗口函数如上所示,python用的是3.4,因为装的也就是winpython。问题说全了有三个,亟待解决的是两个:
1.首列太宽了,我没有声明首列的,那么应该是自带的首列

tree = ttk.Treeview(frame,height=18, columns=('a','b','c','d','e','f'))

2.insert函数的用法,insert的第二个及后续的参数都好理解,第一个参数为什么要用一个空字符,我看到提示有说parent,但还是不是很明白。

tree.insert('',i,values=("《"+item[1]+"》",item[2],item[3],item[4],item[5],item[6]))

3.最近在学习python,求大神推荐一些好的网址,像tkinter的开发手册这种网址本人是苦苦百度很久都没有找到好的,网上的帖子虽能解决部分问题,但是都不是很全面,比如grid()和pack()布局,觉得我虽然用出来了,但是用得比较水...还是习惯官方手册,英文的没问题。


设置show属性为 headings 即可隐藏首列。

ttk.Treeview(frame,height=18, show="headings", columns=('a','b','c','d','e','f'))
【热门文章】
【热门文章】