如何使滚动条看起来更好

时间:2019-08-19 03:55:07

标签: python tkinter tkinter-layout

enter image description here 我正在为我的商店编码,但看起来我无法制作出好的滚动条。有没有人可以帮助我,我已经搜索了make滚动条,但他们只是使用.pack()。因此,似乎需要制作另一个框架,但我不想使用它。这是我的代码。

from tkinter import *
import tkinter as tk
wd=tk.Tk()
wd.title("Sale manager")
#------------Frame-------------
#f1=Frame(wd)
#f1.pack()
#------------Label--------------
lb0 = Label(wd, text ="The FOAK Store", bg = "red", fg ="Black")
lb0.grid(row =0, column =0)
lb1 = Label(wd, text ="Chon loai giay:")
lb1.grid(row =1, column =0)
lb2 = Label(wd, text ="Ngay:")
lb2.grid(row =2, column =0)
lb3 = Label(wd, text ="Gia ban:")
lb3.grid(row =3, column =0)
lb4 = Label(wd, text ="Gia goc:")
lb4.grid(row =4, column =0)

#------------Entry-----------------
scrollbar = Scrollbar(wd)
scrollbar.grid(row=1, column=2)

listbox = Listbox(wd, height=5, width=30, yscrollcommand=scrollbar)
listbox.grid(row=1, column=1)
#------------Data giày-------------
Giay = [
"Nike Air Max Offwhite",
"Nike Vapor Max Offwhite",
"Nike Jordan 1 Offwhite",
"Yeezy 350 Sesame"
]
#-------------Import list box---------
for i in Giay:
   listbox.insert(END, i)

wd.mainloop()

1 个答案:

答案 0 :(得分:2)

欢迎来到stackoverflow。

如评论所说

  • a)使用粘性拉伸滚动条以填充行。
  • b)将列表框的yscroll命令链接到scrollbar.set
  • c)将滚动条命令链接到listbox.yview

对代码的更改如下所示。它们介于#-入口-和#-数据giày-。

列表中还必须包含一些其他内容,以使其足够长以便滚动。

   #------------Entry-----------------
   scrollbar = Scrollbar(wd)
   scrollbar.grid(row=1, column=2, sticky=tk.N+tk.S) # Scrollbar fills the height of row 1

   listbox = Listbox(wd, height=5, width=30, yscrollcommand=scrollbar.set)
   # yscrollcommand linked to scrollbar.set method, not scrollbar 
   listbox.grid(row=1, column=1)
   scrollbar['command']=listbox.yview # Bind scrollbar command to listbox.yview

   #------------Data giày-------------

在Windows机器上,tk和ttk滚动条看起来相同。您可能想使用ttk滚动条进行浏览,这可能会改善外观。

相关问题