timothylup 2020-05-28 17:05 采纳率: 0%
浏览 1130

python tkinter关于toplevel里面entry的默认值显示问题

python新手,学习tkinter过程中遇到一个奇怪的问题,先放陋码

import tkinter as tk
from tkinter import ttk
# from tkinter.ttk import *
def questionshow():
    qshow = tk.Toplevel()
    qshow.geometry('200x200')
    qshow.title('qshow')
    # hostVar = tk.StringVar(value="127.0.0.1")
    hostbox = ttk.Entry(qshow,textvariable=hostVar)
    hostbox.pack()
if __name__ == '__main__':
    root = tk.Tk()
    root.geometry('300x300+100+100')
    root.title('question')
    hostVar = tk.StringVar(value="127.0.0.1")
    btntoplevel = ttk.Button(root,text='toplevel',command=questionshow)
    btntoplevel.pack()

    root.mainloop()

就是一个简单的功能,按钮弹出子框,在子框显示一个输入框,里面显示默认值127.0.0.1
但是,当使用ttk的entry时,hostVar必须定义在main里面,才显示默认值;当使用tk的entry时,hostVar在main或者函数都可以...

  • 写回答

1条回答 默认 最新

  • opcc1987 2020-05-28 17:17
    关注

    变量范围的原因?value定义在StringVar()外,或者函数外试试呢?

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序