吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1958|回复: 7
收起左侧

[求助] Python Tkinter输入框(Entry)赋值的问题

[复制链接]
cqwcns 发表于 2021-11-17 12:04
这个Demo是为了实现用户选择文件后,文件地址赋值到输入框(Entry)。
print可以正常获得文件地址,但赋值到输入框(Entry)报错,AttributeError: 'StringVar' object has no attribute 'insert'
不知道什么原因,请大佬指教。


[Python] 纯文本查看 复制代码
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
from tkinter import filedialog


class tanZhen:

    def __init__(self, root):

        # 窗口属性
        root.title("探针数据处理")

        # 创建组件
        mainframe = ttk.Frame(root, padding="50 30")

        # 渲染组件
        mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
        # 响应式布局
        root.columnconfigure(0, weight=1)
        root.rowconfigure(0, weight=1)

        # 探针标签框
        ttk.Label(mainframe, text="探针表").grid(row=1, column=0, sticky=W)
        # 探针输入框
        self.entry_tanzhen = StringVar()
        entry_tanzhen = ttk.Entry(mainframe, textvariable=self.entry_tanzhen)
        entry_tanzhen.grid(row=1, column=1, sticky=(W, E), padx=10, pady=10)
        # 响应式布局
        mainframe.columnconfigure(1, weight=1)
        # 探针选择按钮
        btn_tanzhen = ttk.Button(mainframe, text='选择',
                                 command=self.func_select_file)
        btn_tanzhen.grid(row=1, column=2)

    def func_select_file(self):
        filename = filedialog.askopenfilename()
        print(filename)
        self.entry_tanzhen.insert(0, 'filename')


root = Tk()
tanZhen(root)
root.mainloop()


微信图片_20211117115947.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wuaikirin 发表于 2021-11-17 12:22
用 filedialog 即可,具体方法看看tk文档
无闻无问 发表于 2021-11-17 12:27
 楼主| cqwcns 发表于 2021-11-17 12:53
wuaikirin 发表于 2021-11-17 12:22
用 filedialog 即可,具体方法看看tk文档

你好,我的问题不是获得文件名,我的问题是赋值到输入框。
 楼主| cqwcns 发表于 2021-11-17 13:28

如你所言,全局环境赋值果然没有问题。

但如果想我这样封装写的,就没有办法了吗?有没有解决方案,感谢。
ReLoading 发表于 2021-11-17 13:29
self.entry_tanzhen.set(value=filename)#  insert  改成 set

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
cqwcns + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| cqwcns 发表于 2021-11-17 13:46
ReLoading 发表于 2021-11-17 13:29
self.entry_tanzhen.set(value=filename)#  insert  改成 set

正解,谢谢
wuaikirin 发表于 2021-11-17 14:24
cqwcns 发表于 2021-11-17 12:53
你好,我的问题不是获得文件名,我的问题是赋值到输入框。

楼上正解,列表框才有insert方法,文本框只能set
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表