【发布时间】:2017-03-16 01:55:55
【问题描述】:
我需要在我的程序的一部分中添加一个滚动条,因为他们希望它显示所有的人,而不是其他部分只显示一个组。在浏览 SC 时,大多数滚动条问题都使用 Tkinter 而不是 tkinter,并使用 pack 而不是 grid。我遇到的问题是我的代码只在第一行的末尾创建了一个小滚动条。我尝试了sticky = E 的不同变体,但它不会创建全屏滚动条。有人可以在课堂设置中使用 tkinter 和 grid 为我指明正确的方向吗?
class ButtonClickSignin(Frame):
def __init__(self):
self.win2 = Tk()
self.win2.title('Sign-In')
self.win2['bg'] = 'blue'
self.win2.geometry('635x635+200+100')
center(self.win2)
self.canvas = Canvas(self.win2)
Frame.__init__(self, self.win2)
self.frame = Frame(self.canvas)
self.scrollbar = Scrollbar(self.win2, orient = VERTICAL)
self.scrollbar.config(command = self.canvas.yview)
self.scrollbar.grid(column = 5)
self.canvas.config(yscrollcommand = self.scrollbar.set)
self.canvas.create_window((0, 0), window = self.frame)
self.win2.bind('<Configure>', self.onFrameConfigure)
self.checkbuttons()
def checkbuttons(self):
filenames = ['grade_pk.txt', 'grade_kinder.txt', 'grade_one.txt',
'grade_two.txt', 'grade_three.txt', 'grade_four.txt',
'grade_five.txt', 'grade_six.txt', 'grade_seven.txt',
'grade_eight.txt', 'grade_drop_in.txt']
with open('sign_in.txt', 'w') as outfile:
for names in filenames:
with open(names) as infile:
outfile.write(infile.read())
rw = 0
cl = 0
file = open('sign_in.txt', 'r')
for name in file:
cb1 = Checkbutton(self.win2, text = name, onvalue = 1, offvalue = 0,
height = 2, width = 22, background = 'blue')
cb1.grid(row = rw, column = cl, padx = 8, pady = 8)
cl += 1
if cl == 3:
cl = 0
rw += 1
【问题讨论】:
-
"... 透过 SC..." - 什么是“SC”?
-
您的代码缺少很多部分,并且依赖于阻止其运行的文件。请阅读并遵循此处的建议:How to create a Minimal, Complete, and Verifiable example
-
应该是这样的,不知道我为什么放SC。
-
好的,那么“SO”是什么意思?堆栈溢出?
-
是的,堆栈溢出。我在其他帖子中看到过这样写的。
标签: python-3.x tkinter scrollbar