как добавить вертикальную полосу прокрутки в флажок в python tkinter? - PullRequest
0 голосов
/ 06 августа 2020

Я прочитал ввод для флажка из текстового файла, и он увеличился больше, чем заданный размер окна. Как добавить к этому полосу прокрутки, чтобы просмотреть все содержимое флажка. Заранее спасибо.

Изменить: добавлен код.

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()

1 Ответ

3 голосов
/ 06 августа 2020

Вы можете использовать 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()
...