如何使特金特相框落后于其他人

2024-09-20 23:03:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在努力(自我中心=Separator)后面只有一行是在中间的,因为我需要分隔两个帧,但是当我在小屏幕上尝试时,这两个帧被分隔符覆盖,或者至少使中间帧的背景透明,如果您需要完整的代码https://github.com/aurimasjank/Pinger-Alpha/tree/pinger

    self.right= Frame(self.tk, bg="black")
    self.right.grid(column=2, row = 0, pady=5,padx=10, sticky=N)

    self.probar= Frame(self.tk, bg= "black")
    self.probar.grid(column=0 ,columnspan= 2, row = 2, sticky= E)

    self.center = Separator(self.tk, orient="vertical")
    self.center.grid(column=1, row=0, sticky="ns")

    sty = Style(self.center)
    sty.configure("TSeparator", background="#00CC00")

    self.botFrame = Frame(self.tk, bg="black")
    self.botFrame.grid(column=2, row = 2, pady=1, sticky= SE)

    self.colnr = 0
    self.rownrleft = 0
    self.rownrright = 0

    self.titlelbl= Label(self.right, text="Service Status:",bg="black",
                            fg="#00CC00",font=("Helvetica", 24))
    self.titlelbl2= Label(self.left, text="GW Status:",bg="black",
                            fg="#00CC00",font=("Helvetica", 24))
    self.titlelbl.grid(column=0, row = 0,sticky=N)        
    self.titlelbl2.grid(column=0, row = 0,sticky=N)

    self.progress = ttk.Progressbar(self.probar,orient ="horizontal",
                                        length = 410, mode ="determinate")
    self.progress.grid(column=0, row = 0,pady= (20,0))

    self.string = StringVar()
    self.timecount = StringVar()

    self.titlelbl3= Label(self.probar, textvariable= self.string ,
                            bg="black", fg="#00CC00",font=("Helvetica", 24))
    self.titlelbl3.grid(column=0, row = 1)

编辑:

所以基本上出了问题的是进度条在扩展列。但有一个新的问题,如何将progressbar放在底部的中间,它不会展开col 1


Tags: selfrightcolumnframelabeltkgridrow
1条回答
网友
1楼 · 发布于 2024-09-20 23:03:06

我认为您的问题是因为第1列的宽度由最大的小部件决定(我认为这里不是分隔符,而是进度栏)。我建议您将所有第0行小部件放置在一个帧中,这样它们不会受到其他假发宽度的影响:

from tkinter import Tk, Frame
from tkinter import ttk

root = Tk()
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)

# create a top frame that will contain left, center and right
# and will spread other the 3 columns so that the width of column 1
# does not decrease the width of the left and right frames
top = Frame(root)
top.grid(row=0, columnspan=3, sticky="nswe")
top.columnconfigure(0, weight=1)
top.rowconfigure(0, weight=1)

left= Frame(top, bg="blue", width=200, height=100)
left.grid(column=0, row = 0, pady=5 ,padx=10, sticky="n")

center = ttk.Separator(top, orient="vertical")
center.grid(column=1, row=0, sticky="ns")

sty = ttk.Style(center)
sty.configure("TSeparator", background="#00CC00")

right= Frame(top, bg="blue", width=200, height=100)
right.grid(column=2, row = 0, pady=5,padx=10, sticky="n")

probar= Frame(root, bg= "black")
probar.grid(column=1, row = 1, sticky= "s")

botFrame = Frame(root, bg="black", width=100, height=50)
botFrame.grid(column=2, row = 1, pady=5, sticky="se")

progress = ttk.Progressbar(probar,orient ="horizontal",
                           length = 410, mode ="determinate")
progress.grid(column=0, row = 0,pady= (20,0))

root.mainloop()

相关问题 更多 >

    热门问题