weixin_43405952 2024-03-09 19:42 采纳率: 83.3%
浏览 1
已结题

python的gui总又让我意外的问题

请问一下,python中,组件entty默认值不是为空吗?


```python
import tkinter
from tkinter.messagebox import *
class hx():
    d_z=None
    def ddz(self,dz):
        if dz==None:
            showwarning("警告","地址不能为空!")
        else:
            self.d_z=dz
            print(self.d_z)
a=hx()
win=tkinter.Tk()
win.title("孔网统计2.0")
l1=tkinter.Label(win,text="数据库地址:").grid(row=0,column=0)
d=tkinter.StringVar()
e1=tkinter.Entry(win,textvariable=d).grid(row=0,column=1)
b1=tkinter.Button(win,text="确定",command=lambda:a.ddz(d)).grid(row=0,column=3)
win.mainloop()

```

  • 写回答

3条回答 默认 最新

  • 关注

    weixin_43405952 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    在你提供的Python Tkinter GUI代码中,确实存在一个问题。Entry组件的默认值是空字符串(""),而不是None。当你尝试获取Entry中的文本时,需要调用get()方法来获取输入框中的内容。

    针对你的问题,这里有一个修改后的代码:

    import tkinter
    from tkinter.messagebox import *
    
    class hx():
        def __init__(self):
            self.d_z = None
    
        def ddz(self, dz):
            if dz == "":
                showwarning("警告", "地址不能为空!")
            else:
                self.d_z = dz
                print(self.d_z)
    
    a = hx()
    win = tkinter.Tk()
    win.title("孔网统计2.0")
    
    l1 = tkinter.Label(win, text="数据库地址:").grid(row=0, column=0)
    d = tkinter.StringVar()  # 创建一个StringVar实例,用于绑定Entry组件
    e1 = tkinter.Entry(win, textvariable=d)  # 绑定变量到Entry组件
    e1.grid(row=0, column=1)
    
    # 修改command参数,使用lambda表达式调用get()方法获取Entry的内容
    b1 = tkinter.Button(win, text="确定", command=lambda: a.ddz(d.get())).grid(row=0, column=3)
    
    win.mainloop()
    

    现在点击“确定”按钮后,程序会检查Entry组件中的文本是否为空字符串,并根据结果执行相应的操作。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月9日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上