tkinter中的网格视图(表格列表)
有没有适用于tkinter的数据网格示例?
# 回答1
阿鲁兹夫,
你能说得更具体些吗?您是否正在寻找使用网格几何管理器的Tkinter小部件的示例?
阿鲁兹夫,
你能说得更具体些吗?您是否正在寻找使用网格几何管理器的Tkinter小部件的示例?
# 回答2
我需要一个样表查看器在tkinter如EXCEL或任何数据库查看器。它必须有列、行和标题。像这样。
|_A_|_B_|_C_|_D_|_E_|
1|_|__|_|
2|_
3|_
4|_
5|_
我需要一个样表查看器在tkinter如EXCEL或任何数据库查看器。它必须有列、行和标题。像这样。
|_A_|_B_|_C_|_D_|_E_|
1|_|__|_|
2|_
3|_
4|_
5|_
# 回答3
您有没有试着为自己编写代码?你知道关于Tkinter的事吗?这是家庭作业吗?我可以提供代码来像您所描述的那样以参数方式构建网格,但我们不是在这里向人们提供代码,而不是在他们身上做一些努力。我附上了一张Tkinter.Entry小工具的网格图像。列标题和行标题不可修改。字符可以输入到开放网格中。字段被绑定到''(如果不为空,则打印字段内容;如果输入了'Exit',则销毁顶级小工具)。
BV-版主
附加图像
EntryGrid.gif
(5.9KB,31654浏览量)
您有没有试着为自己编写代码?你知道关于Tkinter的事吗?这是家庭作业吗?我可以提供代码来像您所描述的那样以参数方式构建网格,但我们不是在这里向人们提供代码,而不是在他们身上做一些努力。我附上了一张Tkinter.Entry小工具的网格图像。列标题和行标题不可修改。字符可以输入到开放网格中。字段被绑定到''(如果不为空,则打印字段内容;如果输入了'Exit',则销毁顶级小工具)。
BV-版主
附加图像
EntryGrid.gif
(5.9KB,31654浏览量)
# 回答4
我是新手,学的是蟒蛇和tkinter。这不是我的作业。我不是学生。我找不到任何小工具。是否有这样的表视图小部件:
>dview=tkinter.ableview()
>dview.pack()
>dview.cell[2][3].text="某个字符串"
>dview.cell[2][4].Image="omeImage.png"
>dButton=dview.cell[1][1].Button
但我在谷歌上找不到。有一些样品,但对我来说不够。
我是新手,学的是蟒蛇和tkinter。这不是我的作业。我不是学生。我找不到任何小工具。是否有这样的表视图小部件:
>dview=tkinter.ableview()
>dview.pack()
>dview.cell[2][3].text="某个字符串"
>dview.cell[2][4].Image="omeImage.png"
>dButton=dview.cell[1][1].Button
但我在谷歌上找不到。有一些样品,但对我来说不够。
# 回答5
在这种情况下,我发布示例代码没有问题。在其中一个单元格中键入"demo",然后按Tab键查看会发生什么情况。
在这种情况下,我发布示例代码没有问题。在其中一个单元格中键入"demo",然后按Tab键查看会发生什么情况。
选择 | 换行 | 行号
- import Tkinter
- from time import sleep
- textFont1 = ("Arial", 10, "bold italic")
- textFont2 = ("Arial", 16, "bold")
- textFont3 = ("Arial", 8, "bold")
- class LabelWidget(Tkinter.Entry):
- def __init__(self, master, x, y, text):
- self.text = Tkinter.StringVar()
- self.text.set(text)
- Tkinter.Entry.__init__(self, master=master)
- self.config(relief="ridge", font=textFont1,
- bg="#ffffff000", fg="#000000fff",
- readonlybackground="#ffffff000",
- justify='center',width=8,
- textvariable=self.text,
- state="readonly")
- self.grid(column=x, row=y)
- class EntryWidget(Tkinter.Entry):
- def __init__(self, master, x, y):
- Tkinter.Entry.__init__(self, master=master)
- self.value = Tkinter.StringVar()
- self.config(textvariable=self.value, width=8,
- relief="ridge", font=textFont1,
- bg="#ddddddddd", fg="#000000000",
- justify='center')
- self.grid(column=x, row=y)
- self.value.set("")
- class EntryGrid(Tkinter.Tk):
- ''' Dialog box with Entry widgets arranged in columns and rows.'''
- def __init__(self, colList, rowList, title="Entry Grid"):
- self.cols = colList[:]
- self.colList = colList[:]
- self.colList.insert(0, "")
- self.rowList = rowList
- Tkinter.Tk.__init__(self)
- self.title(title)
- self.mainFrame = Tkinter.Frame(self)
- self.mainFrame.config(padx='3.0m', pady='3.0m')
- self.mainFrame.grid()
- self.make_header()
- self.gridDict = {}
- for i in range(1, len(self.colList)):
- for j in range(len(self.rowList)):
- w = EntryWidget(self.mainFrame, i, j+1)
- self.gridDict[(i-1,j)] = w.value
- def handler(event, col=i-1, row=j):
- return self.__entryhandler(col, row)
- w.bind(sequence="<FocusOut>", func=handler)
- self.mainloop()
- def make_header(self):
- self.hdrDict = {}
- for i, label in enumerate(self.colList):
- def handler(event, col=i, row=0, text=label):
- return self.__headerhandler(col, row, text)
- w = LabelWidget(self.mainFrame, i, 0, label)
- self.hdrDict[(i,0)] = w
- w.bind(sequence="<KeyRelease>", func=handler)
- for i, label in enumerate(self.rowList):
- def handler(event, col=0, row=i+1, text=label):
- return self.__headerhandler(col, row, text)
- w = LabelWidget(self.mainFrame, 0, i+1, label)
- self.hdrDict[(0,i+1)] = w
- w.bind(sequence="<KeyRelease>", func=handler)
- def __entryhandler(self, col, row):
- s = self.gridDict[(col,row)].get()
- if s.upper().strip() == "EXIT":
- self.destroy()
- elif s.upper().strip() == "DEMO":
- self.demo()
- elif s.strip():
- print s
- def demo(self):
- ''' enter a number into each Entry field '''
- for i in range(len(self.cols)):
- for j in range(len(self.rowList)):
- sleep(0.25)
- self.set(i,j,"")
- self.update_idletasks()
- sleep(0.1)
- self.set(i,j,i+1+j)
- self.update_idletasks()
- def __headerhandler(self, col, row, text):
- ''' has no effect when Entry state=readonly '''
- self.hdrDict[(col,row)].text.set(text)
- def get(self, x, y):
- return self.gridDict[(x,y)].get()
- def set(self, x, y, v):
- self.gridDict[(x,y)].set(v)
- return v
- if __name__ == "__main__":
- cols = ['A', 'B', 'C', 'D']
- rows = ['1', '2', '3', '4']
- app = EntryGrid(cols, rows)
# 回答6
谢谢bvdet,这对我很有帮助。
谢谢bvdet,这对我很有帮助。
# 回答7
我找到了其他示例(大多不够充分),但没有一个示例说明如何将数据放入脚本中。
我找到了其他示例(大多不够充分),但没有一个示例说明如何将数据放入脚本中。
# 回答8
我很想用
Tkinter树形视图
。
我很想用
Tkinter树形视图
。
# 回答9
你想把什么数据写进《剧本》里?
你想把什么数据写进《剧本》里?
# 回答10
别笑了!我想写一个版本的快餐。当我得到64位Win7时,我被迫从2001年第一季度升级到2010年第二季度。2010年第四季度太糟糕了,我必须做点什么。我已经开始使用GnuCash,这很尴尬,但比2010年第一季度好多了。
别笑了!我想写一个版本的快餐。当我得到64位Win7时,我被迫从2001年第一季度升级到2010年第二季度。2010年第四季度太糟糕了,我必须做点什么。我已经开始使用GnuCash,这很尴尬,但比2010年第一季度好多了。
# 回答11
你会在你的例子中添加一个滚动条吗?
你会在你的例子中添加一个滚动条吗?
# 回答12
我从来没有做过滚动条。当我有空闲时间的时候,我会试着加一个。
我从来没有做过滚动条。当我有空闲时间的时候,我会试着加一个。
# 回答13
谢谢,你可以想象我的困难。
谢谢,你可以想象我的困难。
# 回答14
你能帮帮我吗?我需要把清单上的项目放到表上,但我想不出来。
你能帮帮我吗?我需要把清单上的项目放到表上,但我想不出来。
标签: python