当前位置: 首页 > 知识库问答 >
问题:

是同一行上的网格与单独行上的网格不同[重复]

匡安宜
2023-03-14

当我试图运行我的代码(在底部)时,我得到了下面的错误。

AttributeError: 'NoneType' object has no attribute 'config'
Exception in Tkinter callback

soo是this. this方法适用于配置和win10toos

L1 = Label(win, text = "Press a button")
L1.grid(row= 0, column= 0, columnspan= 2, padx = 20, pady = 20)

就我所知,它们是一样的,只是一个更小,在一条线上。

L1 = Label(win, text = "Press a button").grid(row= 0, column= 0, columnspan= 2, padx = 20, pady = 20)

主代码

import datetime as dt
from win10toast import ToastNotifier
from tkinter import *
toast = ToastNotifier()

win = Tk()
win.geometry("200x150")
win.resizable(False, False)
win.configure(background = "Light Blue")
win.title("Demo")
def greeting():
    L1.config(text = "Hello")
    toast.show_toast("Alarm", "You have been summoned", threaded= True)

def farewell():
    L1.config(text = "Goodbye")


L1 = Label(win, text = "Press a button")
L1.grid(row= 0, column= 0, columnspan= 2, padx = 20, pady = 20)
b1 = Button(win, text = "Click Me", width= 7, command=greeting).grid(row= 1, column= 0, padx = 20)
b2 = Button(win, text = "Farewell", width= 7, command=farewell) .grid(row = 1, column= 1, padx = 20)

win.mainloop()

共有1个答案

穆城
2023-03-14

tkinter中,如果您以这种方式在窗口中添加小部件:

btn = Button().grid()

您失去了对小部件的控制,因为. rid()方法返回

正确的方法是:

btn = Button()
btn.grid()

您可以理解创建自定义类的原因:

class Person:
    def __init__(self, name: str):
        self.name = name

    def get_name(self):
        return self.name


if __name__ == "__main__":
    p = Person(name="Alex")
    print(type(p))

    p = Person(name="Alex").get_name()
    print(type(p))

输出

<class '__main__.Person'>
<class 'str'>
 类似资料:
  • 问题内容: 因此,我有三个numpy数组,它们在网格上存储纬度,经度和一些属性值-也就是说,我有LAT(y,x),LON(y,x)和温度T(y,x) ),对于x和y的某些限制。网格不一定是规则的-实际上,它是三极的。 然后,我想将这些属性(温度)值插值到一堆不同的纬度/经度点上(分别存储为lat1(t),lon1(t),大约10,000 t …),这些点不属于实际的网格点。我已经尝试过matplo

  • 目标:因为我是新来Appium的。我正在尝试在Ubuntu上使用Appium网格在多个android设备上并行自动化Appium测试 我成功启动了一个网格中心服务器和两个具有不同端口的节点 问题:无法同时在两台设备上运行测试用例(我确信问题出在我如何设计框架上)。我不知道如何传递两个设备的能力,同时启动设备(主要问题)。我必须为此使用多线程吗?如果是,那么如何使用 实际:当我在同一个设备上运行多个

  • 使用引导3: 我有一行,div class=“row”,有两列,都是div class=“col-xs-6”。我想用不同的颜色来设计每个列的样式,比如说列本身的背景色、边框和填充,但是它们都属于同一个类“col-xs-6”。 在行中,我可以通过将div class=“row”更改为div class=“row top\u row”来添加类名,以将该特定行与所有其他行类区分开来。当我尝试通过将div

  • 问题内容: 假设我有这个(MySQL)数据库,按增加的时间戳排序: 如何从该系统的上一行中选择StatusA更改的行?StatusB无关紧要(我在此问题中展示它只是为了说明每个系统可能有许多连续的行,其中StatusA不变)。在上面的示例中,查询应返回2011-01-03行(对于SystemA,StatusA在2011-01-01和2011-01-03之间更改),2011-01-06、2011-0

  • 我正在使用一个Vaadin网格来显示传入的信息并实时更新它。我已经能够通过访问DOM来设置所有行的样式,如下所示: 我试图做的是根据行的数据内容为某些行设置特定的样式。基本上我有一列布尔值,如果是真的,我希望该行有绿色背景,如果是假的,我希望该行有红色背景。现在确定如何在Java代码或中实现这一点。太感谢你们了! 我已经看到了这个示例,该示例基于一个条件来编程样式化一个列,而不是一个行。

  • 我在试着运行硒网格, 详细信息:win 7,selenium 2.4.5,selenium-server-独立-2.46.0,java 8,我得到一个错误: 无法启动新会话。可能的原因是远程服务器地址无效或浏览器启动失败。生成信息:版本:'2.45。0',修订版:'5017cb8e7ca8e37638dc3091b2440b90a1d8686f',时间:'2015-02-27 09:10:26'系