python - 实时显示 tkinter 刻度值
问题描述
我使用以下代码在 Tkinter 中制作了比例尺:
demo = ttk.Labelframe(col2, text='Demo', padding=(15, 10))
demo.pack(side='top', fill='both', expand='yes', pady=(10, 0))
epoch = ttk.Frame(demo)
epoch.pack(fill='x', padx=(20, 0), pady=(5, 0))
ttk.Label(epoch, text='10 epoch').pack(side='left')
ttk.Label(epoch, text='1000 epoch').pack(side='right')
ttk.Scale(epoch, value=990, from_=10, to=1000).pack(side='left', fill='x', expand='yes', padx=(30, 0))
我想要一个标签,在它的正下方实时显示当前位置的刻度值。我应该如何做到这一点?
解决方案
您可以创建一个IntVar()
scale_val=IntVar()
ttk.Scale(epoch, value=990,variable=scale_val, from_=10, to=1000).pack(side='left', fill='x', expand='yes', padx=(30, 0))
lbl_val=ttk.Label(epoch)
lbl_val.pack(side='bottom') #=== Set it according to your will
然后你可以跟踪变量:
def trace_method(*args):
x=scale_val.get()
lbl_val.config(text=f'{x} %')
scale_val.trace('w',trace_method)
推荐阅读
- python - PyInstaller 可执行文件(包括 scikit-image)的问题
- azure-devops - Azure 管道:管道资源的名称是什么?
- java - Grails 3.3.9 - 在 grails 3.3.9 项目中显示 JSP 时出现问题
- java - 使用嵌套循环(java)生成素数。循环问题
- node.js - 我收到错误 EACCES: permission denied, open '/root/.pm2/module_conf.json' error after npm start 命令
- python - 在存储到内存之前解压缩一个大的 zip 文件并过滤?
- javascript - 如何就地更新 JSON 密钥?
- r - 如何在ggplot中使用海林格变换绘制PCA?
- python - 单元测试只运行一个测试(python)
- python - 如何从 Potrace 获得直线 svg