【问题标题】:Widgets not appearing [different case]小部件未出现 [不同情况]
【发布时间】:2021-12-17 09:21:21
【问题描述】:

这是我尝试过的:

import tkinter as tk
from tkinter import TOP,BOTTOM,LEFT,RIGHT
_master=''
class GUI(tk.Tk):
    def __init__(self):
        global _master
        tk.Tk.__init__(self)
        self._master=self
    def stay(self):
        self._master.mainloop()
class button():
    def __init__(self,**kwargs):
        global _master
        if 'image' in kwargs:
            self._image=tk.PhotoImage(file=kwargs['image'])
            self._button=tk.Button(_master,image=_image)
            if 'x' in kwargs and 'y' in kwargs:
                self._button.place(x=kwargs['x'],y=kwargs['y'])
            elif 'x' in kwargs:
                self._button.place(x=kwargs['x'])
            elif 'y' in kwargs:
                self._button.place(y=kwargs['y'])
            elif 'side' in kwargs:
                self._button.place(side=kwargs['side'])
            else:
                self._button.place()
        if 'text' in kwargs:
            self._text=kwargs[text]
            self._button=tk.Button(_master,text=_text)
            if 'x' in kwargs and 'y' in kwargs:
                _button.place(x=kwargs['x'],y=kwargs['y'])
            elif 'x' in kwargs:
                _button.place(x=kwargs['x'])
            elif 'y' in kwargs:
                _button.place(y=kwargs['y'])
            elif 'side' in kwargs:
                _button.place(side=kwargs['side'])
            else:
                _button.place()
            
            
class text():
    def __init__(self,**kwargs):
            global _master
            self.text=kwargs['text']
            self._label=tk.Label(kwargs['win'],text=text)
            if 'x' in kwargs and 'y' in kwargs:
                self._label.place(x=kwargs['x'],y=kwargs['y'])
            elif 'x' in kwargs:
                self._label.place(x=kwargs['x'])
            elif 'y' in kwargs:
                self._label.place(y=kwargs['y'])
            elif 'side' in kwargs:
                self._label.place(side=kwargs['side'])
            else:
                self._label.place()
                
win=GUI()
text(win=win,text='Hey')

win.stay()

但它不起作用。 它没有出现。 没有任何错误,它只显示空白的 tk 窗口。 我正在尝试为自己(甚至可能为公众)制作一个 GUI 库 我怎样才能解决这个问题? 还有为什么会这样?

【问题讨论】:

  • 请注意,不带选项调用place() 将不会放置小部件。至少指定xy 选项,两者都更好。另外self._label=tk.Label(kwargs['win'],text=text) 应该是self._label=tk.Label(kwargs['win'],text=self.text)

标签: python tkinter


【解决方案1】:

Thanks acw1668

请注意,不带选项调用place() 不会放置小部件。 至少指定xy 选项,两者都更好。还 self._label=tk.Label(kwargs['win'],text=text) 应该是 self._label=tk.Label(kwargs['win'],text=self.text) 代替。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 2014-05-16
    相关资源
    最近更新 更多