pythontkinter如何上移条目

2024-03-28 16:10:40 发布

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

嗨,伙计们,我有这个密码

from tkinter import *
import os
class TechnologyIDE:
    def __init__(self, master):
        #Vytvoření master
        self.master = master
        master.title('Technology IDE')

        #Frame
        frame = Frame(root)
        frame.pack()

        self.frameLEFT = Frame(master)
        self.frameLEFT.pack(side=LEFT)

        self.frameRIGHT = Frame(master)
        self.frameRIGHT.pack(side=RIGHT)

        #Boxy
        self.showCodewitHLines()
        self.showProjectToolbar()
        self.showNavigator(


    def showProjectToolbar(self):
        screen_width = root.winfo_screenwidth()
        screen_height = root.winfo_screenheight()
        width = int(screen_width/30)
        listbox = Listbox(self.frameLEFT)
        listbox.pack(side=TOP, anchor=W)
        listbox.insert(END, "PROJECTS")
        listbox.insert(END, "   SOURCE")


    def showCodewitHLines(self):
        v = StringVar()
        e = Entry(self.frameRIGHT, textvariable=v)
        e.pack()

    def showNavigator(self):
        screen_width = root.winfo_screenwidth()
        screen_height = root.winfo_screenheight()
        width = int(screen_width/30)
        listbox = Listbox(self.frameLEFT)
        listbox.pack(side=TOP, anchor=W)
        listbox.insert(END, "NAVIGATOR")



root = Tk()
ide = TechnologyIDE(root)
root.mainloop()

结果是这样的 enter image description here

我需要那个入口在最上面,在那些盒子旁边,填满剩下的空间。 我设置了框左,框右,但正如你在另一个右边看到的中间。在


Tags: selfmasterdefrootwidthscreenframeside
1条回答
网友
1楼 · 发布于 2024-03-28 16:10:40

我使用了fill=Y选项来压缩self.frameLEFT,这样两个列表框就位于窗口的顶部(否则,self.frameLEFT的高度将适合两个列表框,self.frameLEFT将在窗口中垂直居中)。在

对于self.frameRIGHT,我使用了expand=True和{},这样它就填充了窗口中的所有可用空间。在

最后,对于条目e,我使用了fill=X来填充可用的水平空间。在

from tkinter import *
import os
class TechnologyIDE:
    def __init__(self, master):
        #Vytvoření master
        self.master = master
        master.title('Technology IDE')

        #Frame
        frame = Frame(root)
        frame.pack()

        self.frameLEFT = Frame(master)
        self.frameLEFT.pack(side=LEFT, fill=Y)

        self.frameRIGHT = Frame(master)
        self.frameRIGHT.pack(side=RIGHT, expand=True, fill=BOTH)

        #Boxy
        self.showCodewitHLines()
        self.showProjectToolbar()
        self.showNavigator()


    def showProjectToolbar(self):
        screen_width = root.winfo_screenwidth()
        screen_height = root.winfo_screenheight()
        width = int(screen_width/30)
        listbox = Listbox(self.frameLEFT)
        listbox.pack(side=TOP, anchor=W)
        listbox.insert(END, "PROJECTS")
        listbox.insert(END, "   SOURCE")


    def showCodewitHLines(self):
        e = Text(self.frameRIGHT)
        e.pack(fill=BOTH)

    def showNavigator(self):
        screen_width = root.winfo_screenwidth()
        screen_height = root.winfo_screenheight()
        width = int(screen_width/30)
        listbox = Listbox(self.frameLEFT)
        listbox.pack(side=TOP, anchor=W)
        listbox.insert(END, "NAVIGATOR")


root = Tk()
ide = TechnologyIDE(root)
root.mainloop()

相关问题 更多 >