【问题标题】:Tkinter - Make status bar longer than windowTkinter - 使状态栏比窗口长
【发布时间】:2016-08-28 23:33:27
【问题描述】:

我正在开发一个 Tkinter GUI,底部有一个状态栏来显示指令或将鼠标悬停在特定小部件上的文件路径,特别是如果文件路径太长而无法写入给定部分。在长名称的情况下,状态栏是否可以延伸到窗口之外? (比如没有顶栏的窗口?)

状态栏最后被截断:

我希望状态栏的样子:

我见过其他应用程序的状态栏可以延伸到窗口之外,但我想知道这在 Tkinter 中是否可行。任何帮助将不胜感激!

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    是的,有可能:

    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 代表“西方”,做到了

    【讨论】:

    • 感谢您的回复。我的意思是让标签延伸到屏幕的宽度之外,而不必调整屏幕的大小,这样如果文本长于屏幕大小,它就会突出。上图是我目前在我的代码中的内容。有什么建议吗?
    • 哦,所以上图显示的不是你想要得到的,而是你目前得到的?
    • 是的,这有点误导 TBH。但不管怎么说。能否请您描述一下您想用一张照片获得什么,就像您现在拥有的一样?
    • 好的,我又加了一张照片 :)
    • 另外,如果你有另一个小部件,比如text,你可以让状态标签延伸到文本小部件之外:pastebin.com/zemA3hCL 但是同样,它不可能延伸到父窗口之外,因为它将自身内部的所有内容作为一个整体捆绑在一起。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    相关资源
    最近更新 更多