main_frame= self.create_widget... bilan boshlangan qatorni izohdan olib tashlaganimda banner_strip ramkasi ko'rinmaydi.
agar chiziq sharhlangan bo'lsa, u men xohlagancha ko'rinadi. Bundan tashqari, men 1 dan self.banner_strip = self.create_widget() gacha o'rniga row = 0 ni o'tkazganimda va yuqorida ko'rsatilgan qatorni izohdan olib tashlaganimda, bu chiziqli ramka paydo bo'ladi, lekin ramkaning o'rtasida "Bu qandaydir matn" yorlig'i ustida. Bu erda nima noto'g'ri qilayotganimni bilasizmi?
from tkinter import *
class Application():
def __init__(self, master):
self.master = master
self.master.geometry("700x400+250+150")
self.master.resizable(False, False)
self.banner_frame = self.create_widget(master_widget = self.master, widget = Frame(), width = 700, height = 70, bg = '#255869', row = 0, column = 0, bd = 0)
self.banner_label = self.create_widget(master_widget = self.banner_frame, widget = Label(), bg = '#255869', row = 0, column = 0, pady = 20, text = "This is some text")
self.banner_strip = self.create_widget(master_widget = self.banner_frame, widget = Frame(), width = 700, height = 10, bg = '#BCC947', row = 1, column = 0)
#self.main_frame = self.create_widget(self.master, widget = Frame(), width = 700, height = (400 - 80), bd = 0, row = 1, column = 0)
def create_widget(self, master_widget = None, widget = None, width = 0, height = 0, bg = None, fg = None, row = 0, column = 0, text = None, bd = None, padx = 0, pady = 0 ):
widget_type = type(widget)(width = width, height = height, bg = bg, fg = fg, text = text, bd = bd)
widget_type.grid(row = row, column = column)
return widget_type
cl = Tk()
c = Application(cl)
cl.mainloop()
Agar kimdir yechimini bilsa, menga yordam bering. Rahmat!
Tahrirlash: Bu aynan bir xil dastur, lekin create_widget() usulidan foydalanmasdan. Bunda label_frame row=0 va main_frame row=1 juda yaxshi ishlaydi
from tkinter import *
class Application():
def __init__(self, master):
self.master = master
self.master.geometry("700x400+250+150")
self.master.title("GetCaseQob v2.1")
self.master.resizable(False, False)
self.banner_frame = Frame(master, width = 700, height = 70, bd = 0, bg = '#255869')
self.banner_frame.grid(row = 0, column = 0)
self.banner_strip = Frame(self.banner_frame, width = 700, height = 10, bd = 0, bg = '#BCC947')
self.banner_strip.grid(row = 1, column = 0)
self.banner = Label(self.banner_frame, bg = '#255869', text = 'This is some text')
self.banner.grid(row = 0, column = 0, pady = 20)
self.main_frame = Frame(master, width = 700, height = (400-70), bd = 0)
self.main_frame.grid(row = 1, column = 0)
self.main_frame.grid_propagate(0)
cl = Tk()
c = Application(cl)
cl.mainloop()