我正在使用 tkinter 在 python 中為 brainf*ck 制作一個(gè) ide,我正在添加一個(gè)最近的項(xiàng)目部分,但是當(dāng)我放置按鈕時(shí),它們不會(huì)出現(xiàn)在屏幕上。這是代碼Scene:from tkinter import *from tkinter import filedialog as Fileimport tkinter as tkclass HoverButton(tk.Button): def __init__(self, master, **kw): tk.Button.__init__(self, master=master, **kw) self.defaultBackground = "#5d5d5d" self['background'] = self.defaultBackground self['activebackground'] = "#6d6d6d" self.bind("<Enter>", self.on_enter) self.bind("<Leave>", self.on_leave) def on_enter(self, e): self['background'] = "#6d6d6d" def on_leave(self, e): self['background'] = self.defaultBackgroundclass ProjectPage(Frame): def __init__(self, master, projects=[]): super().__init__(master) self.projects = projects self.buttons = [] self.mstr = self.master.master self.title = "PesolIde: Projets" self.width = 800 self.height = 500 self.color = "#4d4d4d" self.projectFrame = tk.Frame(self.mstr,width=800,height=50,bg="#5d5d5d") self.newProject = HoverButton(self.mstr,text="New Project", height=1, bg="#6d6d6d") self.openProject = HoverButton(self.mstr,text="Open Project", height=1,bg="#6d6d6d", command=OpenAsk) self.projectdisplay = tk.Frame(self.mstr, width=700, height=300, bg="#5d5d5d", highlightbackground="black", highlightthickness=1) for i in range(len(self.projects)): self.buttons.append(HoverButton(master, text=self.projects[i].split(':')[0], width=50, height=1)) if len(self.buttons)>=40: break self.loaded = False def show(self): self.projectFrame.place(x=0, y=0) self.newProject.place(x=20, y=10) self.openProject.place(x=120, y=10) self.projectdisplay.place(x=50,y=100) self.y = 100當(dāng)我在文件中創(chuàng)建類HoverButton外部時(shí),它會(huì)按預(yù)期顯示,但在直接從主文件的類中初始化時(shí)不會(huì)出現(xiàn)。ProjectPageProjectPageProjectPage使用左側(cè)代碼從類外運(yùn)行的輸出:
1 回答

MYYA
TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
嘗試插入 relx、rely、relwidth、relheight 的值作為“place”中的屬性,或者您也可以插入 height、width 作為 place 的屬性。
添加回答
舉報(bào)
0/150
提交
取消