【问题标题】:How to make an optional scrollbar?如何制作可选的滚动条?
【发布时间】:2015-11-16 19:06:13
【问题描述】:

以下代码旨在:要求用户导入文本文件,将文件的行存储在列表中,然后将该列表显示在标签上。我的问题是当用户尝试导入一个很长的文本文件时。现在,如果它是一个长文件,则不会显示所有文本。我想知道一旦文件长度达到一定长度,如何让滚动条/滚动框出现。

import tkinter 
from tkinter import * 
from tkinter.filedialog import askopenfile 
from tkinter.filedialog import askopenfilename

window = tkinter.Tk()

def import_txt():
    global import_list
    file_name = askopenfilename(filetypes=[("Text files","*.txt")]) 
    import_list = []

    with open(file_name, 'r') as f:
        go.pack()
        import_list = f.readlines()
    f.close()

def display():
    global import_list
    display_txt.config(text=str(import_list))
    display_txt.pack()

start = tkinter.Button(window, text="Import", command=import_txt)
start.pack()
go = tkinter.Button(window, text="GO", command=display)
display_txt = tkinter.Label(window)

window.mainloop()
import tkinter 
from tkinter import * 
from tkinter.filedialog import askopenfile 
from tkinter.filedialog import askopenfilename

window = tkinter.Tk()

def import_txt():
    global import_list
    file_name = askopenfilename(filetypes=[("Text files","*.txt")]) 
    import_list = []

    with open(file_name, 'r') as f:
        go.pack()
        import_list = f.readlines()
    f.close()

def display():
    global import_list
    display_txt.config(text=str(import_list))
    display_txt.pack()

start = tkinter.Button(window, text="Import", command=import_txt)
start.pack()
go = tkinter.Button(window, text="GO", command=display)
display_txt = tkinter.Label(window)

window.mainloop()

【问题讨论】:

  • 是否有理由不让滚动条一直存在?
  • 如果文本文件不够大。只是因为我希望在不需要时减少我的 GUI 上的内容。

标签: python import tkinter scrollbar


【解决方案1】:

只需使用scrolledtext 小部件而不是标签。是否有一些特殊考虑为什么这对您不起作用?您可以对其进行配置,以便用户无法修改文本,如果这是问题所在。只需配置state=tk.DISABLED

【讨论】:

    【解决方案2】:

    我喜欢PurityLake的这个解决方案:https://stackoverflow.com/a/15227842/709998

    如果您的要求略有不同,我认为您至少可以对其进行修改。

    【讨论】:

    • 这不是我的解决方案。
    • 好吧,我想我无法正确阅读!我用一系列其他技巧为它添加了书签,该文件夹刚刚命名为 Bryan Oakley tkinter。感谢您指出这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    相关资源
    最近更新 更多