如何打印通过for循环添加到页面的Flet TextField的值?
正确获取Flet中TextField输入值的方法
你当前的代码打印的是TextField控件对象本身,所以输出会显示包含value属性的对象描述。要直接获取输入值,只需访问每个TextField控件的value属性即可。
修改后的完整代码
import flet as fl def main(page:fl.Page): def print_values(e): # 遍历column内的所有TextField,提取value属性打印 for input_field in column.controls: print(input_field.value) column=fl.Column(controls=[fl.TextField() for n in range(5)]) button=fl.ElevatedButton('PRINT',on_click=print_values) page.add(column,button) fl.app(target=main)
效果说明
点击PRINT按钮后,会直接输出每个输入框的内容:
homer bart marge maggie lisa
可选:更清晰的输出格式
如果需要区分每个输入框的序号,可以用enumerate优化打印逻辑:
def print_values(e): for idx, input_field in enumerate(column.controls, start=1): print(f"第{idx}个输入框的值: {input_field.value}")
对应的输出会变成:
第1个输入框的值: homer 第2个输入框的值: bart 第3个输入框的值: marge 第4个输入框的值: maggie 第5个输入框的值: lisa
内容的提问来源于stack exchange,提问作者user25063677
相关产品推荐
相关产品推荐

