如何在 python tkinter 中向复选框添加垂直滚动条?

nav*_*nna 0 python user-interface tkinter scrollbar

我从文本文件中读取了复选框的输入,并且该输入的增加超过了给定的窗口大小。如何为此添加滚动条以查看复选框的所有内容。提前致谢。

编辑:添加了代码。

from tkinter import *
import os


error = []
window = ""
with open("op.txt") as inp:
    for lines in inp:
        if lines.strip() == "done":
            error.append(window)
            window = ""
        else:
            window += lines

print(len(error))

root = Tk()
root.minsize(500, 500)
cbTexts={}
cbVariables={}
cb={}
for i in error:
    cbTexts[i] = StringVar()
    cbTexts[i].set(i)
    cbVariables[i] = IntVar()
    cbVariables[i].set(0)
    cb[i] = Checkbutton(root, textvariable=cbTexts[i], variable=cbVariables[i])
    cb[i].pack()
mainloop()
Run Code Online (Sandbox Code Playgroud)

acw*_*668 6

您可以使用ScrolledText按住复选按钮。

下面是一个简单的例子:

import tkinter as tk
from tkinter.scrolledtext import ScrolledText

root = tk.Tk()

text = ScrolledText(root, width=20, height=10)
text.pack()

for i in range(30):
    cb = tk.Checkbutton(text, text=(i+1), bg='white', anchor='w')
    text.window_create('end', window=cb)
    text.insert('end', '\n')

root.mainloop()
Run Code Online (Sandbox Code Playgroud)