【发布时间】:2016-08-28 23:33:27
【问题描述】:
我正在开发一个 Tkinter GUI,底部有一个状态栏来显示指令或将鼠标悬停在特定小部件上的文件路径,特别是如果文件路径太长而无法写入给定部分。在长名称的情况下,状态栏是否可以延伸到窗口之外? (比如没有顶栏的窗口?)
我见过其他应用程序的状态栏可以延伸到窗口之外,但我想知道这在 Tkinter 中是否可行。任何帮助将不胜感激!
【问题讨论】:
我正在开发一个 Tkinter GUI,底部有一个状态栏来显示指令或将鼠标悬停在特定小部件上的文件路径,特别是如果文件路径太长而无法写入给定部分。在长名称的情况下,状态栏是否可以延伸到窗口之外? (比如没有顶栏的窗口?)
我见过其他应用程序的状态栏可以延伸到窗口之外,但我想知道这在 Tkinter 中是否可行。任何帮助将不胜感激!
【问题讨论】:
是的,有可能:
from tkinter import *
root = Tk()
root.geometry("800x500-500+50")
root.config(bg="lightblue")
stslabel = Label(root, anchor=W,
text="Process another input file to get citations. blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah"
)
stslabel.pack(fill=X, side=BOTTOM)
您需要做的就是为用于显示状态的label 小部件(ststlabel)使用最合适的几何管理器(在本例中为pack);然后向几何管理器添加一些选项:fill 在水平拉伸窗口时使其扩展; side 把它放在屏幕的最底部,这意味着它会一直呆在那里(直到你将前面的任何小部件的几何图形置于底部。否则,它将被替换)。
现在我们明白了!但是有一个问题是它不显示状态文本的开头。为了解决这个问题,将anchor 选项添加到状态标签并将其值更改为W,因为我们希望看到文本的开头(最左侧)。而W 代表“西方”,做到了。
【讨论】:
text,你可以让状态标签延伸到文本小部件之外:pastebin.com/zemA3hCL 但是同样,它不可能延伸到父窗口之外,因为它将自身内部的所有内容作为一个整体捆绑在一起。