滚动条不会扩展到全屏

蓬卡纳赫

我需要向我的程序的一部分添加一个滚动条,因为他们希望它显示所有人,而不是另一部分只显示一个组。在查看 SC 时,大多数滚动条问题使用 Tkinter 而不是 tkinter 并使用包而不是网格。我遇到的问题是我的代码只在第一行的末尾创建了一个小滚动条。我尝试了不同的变体,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
布莱恩·奥克利(Bryan Oakley)

我无法运行您的代码,因为它缺少代码,而且我没有它所依赖的所有输入文件。但是,我看到了几个问题:

  1. 你从不调用grid画布,所以它是不可见的,
  2. 你让所有的复选按钮成为根窗口的子窗口而不是框架的子窗口。
  3. 通过未明确指定行,滚动条将进入第 0 行,该行与第一个复选按钮相同。因为你没有告诉滚动条跨越多行,所以它总是只和那一行一样高(它只和一个复选按钮一样高)
  4. 您没有使用该sticky选项,因此即使给滚动条的空间合适,滚动条也永远不会填满它。

我的建议是完全重新开始。仅使用画布创建窗口,并确保它可见。如果您最初为画布赋予独特的颜色,这将更容易形象化。

接下来,添加滚动条并确保其可见。滚动条需要与画布在同一行或多行上,并且它的sticky需要为“ns”(北、南)。执行此操作 - 并且仅此 - 并确保在继续之前所有内容均正确显示并调整大小。

完成后,在画布中添加一个大的固定尺寸的框架。它需要比画布高得多,以便您可以确保滚动条正常工作。给它一个独特的颜色,并确保滚动条会滚动它。

只有在您完成所有这些之后,您才开始向内部框架添加小部件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不添加滚动条的情况下设置 QScrollArea(在 QDialog 内)将扩展到的最大宽度?

来自分类Dev

带溢出滚动的Div不会扩展到儿童的身高

来自分类Dev

如何使用基于div的下拉列表获取滚动条,而不是使用JavaScript和CSS扩展到屏幕末端?支柱也参与其中

来自分类Dev

固定全屏div滚动条

来自分类Dev

HTML全屏显示,无滚动条

来自分类Dev

固定全屏div滚动条

来自分类Dev

全屏 div 显示滚动条

来自分类Dev

表单滚动但滚动条不会移动

来自分类Dev

表单滚动但滚动条不会移动

来自分类Dev

防止div扩展滚动条

来自分类Dev

modalpopup扩展程序的滚动条

来自分类Dev

在滚动条后面扩展元素

来自分类Dev

Chrome(Windows)不会隐藏滚动条

来自分类Dev

JScrollPane滚动条不会显示吗?

来自分类Dev

CSS宽度限制为浏览器窗口的100%(不会扩展到右侧滚动区域)

来自分类Dev

CSS宽度限制为浏览器窗口的100%(不会扩展到右侧滚动区域)

来自分类Dev

Div不会扩展到儿童内容

来自分类Dev

全屏div(显示为默认窗口滚动条时)

来自分类Dev

垂直居中全屏div和滚动条

来自分类Dev

将视图控制器的视图扩展到全屏

来自分类Dev

隐藏RichTextBox滚动条而不会丢失鼠标滚轮滚动

来自分类Dev

TextView可以滚动,但不会显示滚动条

来自分类Dev

单击滚动条的上方或下方不会滚动

来自分类Dev

为什么滚动条有时会显示在 Chrome 扩展中有时不会显示

来自分类Dev

将滚动条div同步到非滚动div

来自分类Dev

自动扩展textarea后跳转滚动条

来自分类Dev

隐藏控制台中的滚动条而不会闪烁

来自分类Dev

滚动条在调整大小时不会隐藏。

来自分类Dev

文本(绝对)不会通过垂直滚动条

Related 相关文章

热门标签

归档