【问题标题】:Horizontal scrollbar doesn´t work in a kind of table in Tkinter水平滚动条在 Tkinter 的某种表格中不起作用
【发布时间】:2021-11-18 20:09:00
【问题描述】:

我正在尝试使用 tkinter for python 创建一个表:

我有下一个代码:

from tkinter import *
from  tkinter import ttk

ws  = Tk()
ws.title('PythonGuides')
ws.geometry('500x500')
ws['bg'] = 'Black'

game_frame = Frame(ws)
game_frame.pack()

game_scroll = Scrollbar(game_frame, orient='vertical')
game_scroll.pack(side=RIGHT, fill=Y)

game_scroll = Scrollbar(game_frame,orient='horizontal')
game_scroll.pack(side= BOTTOM,fill=X)

my_game = ttk.Treeview(game_frame,yscrollcommand=game_scroll.set, xscrollcommand =game_scroll.set)

my_game.pack()

game_scroll.config(command=my_game.yview)
game_scroll.config(command=my_game.xview)

my_game['columns'] = ('_id', '_name')

my_game.column("#0", width=0,  stretch=NO)
my_game.column("_id",anchor=CENTER, width=80)
my_game.column("_name",anchor=CENTER,width=80)

my_game.heading("#0",text="",anchor=CENTER)
my_game.heading("_id",text="Id",anchor=CENTER)
my_game.heading("_name",text="Step",anchor=CENTER)

#add data 
for i in range(40):
    my_game.insert(parent='',index='end',iid=i,text='',values=(str(i + 1),'Going to the step '+str(i + 1)))
my_game.pack()
ws.mainloop()

主要问题是水平滚动条不起作用,所以我看不到它在哪一步。

它只是看起来像这样:

我只能向下或向上移动,但不能向左或向右移动。 所以我希望有人能帮助我,在此先感谢。

【问题讨论】:

  • 这里有一个链接,它解释了如何连接Scrollbar 垂直和水平。 stackoverflow.com/questions/14359906/…
  • 为了使水平滚动条正常工作,必须在my_game.column( 中包含minwidth。我已经修改了我的答案以包含它。所以现在两个滚动条都可以工作了。

标签: python tkinter tk tkinter-entry ttk


【解决方案1】:

您有同名的垂直和水平滚动条。 尝试按照以下 sn-p 行更改代码。

game_scrollV = Scrollbar(game_frame, orient='vertical')
game_scrollV.pack(side=RIGHT, fill=Y)

game_scrollH = Scrollbar(game_frame,orient='horizontal')
game_scrollH.pack(side= BOTTOM,fill=X)

my_game = ttk.Treeview(
    game_frame,
    yscrollcommand = game_scrollV.set,
    xscrollcommand = game_scrollH.set)

my_game.pack()

game_scrollV.config(command=my_game.yview)
game_scrollH.config(command=my_game.xview)

my_game.column("_id",anchor=CENTER, minwidth = 100, width=80)
my_game.column("_name",anchor=CENTER,minwidth = 100, width=80)

【讨论】:

    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 2021-11-25
    • 2021-03-01
    • 2022-01-18
    • 1970-01-01
    • 2017-08-23
    • 2019-10-09
    • 2017-09-22
    相关资源
    最近更新 更多