Golang中处理Entry时遇到的问题
Golang中处理Entry时遇到的问题 如何从 fyne 的 entry 组件中获取文本(字符串)?
以下是一些代码。我想使用输入的字符串。
请帮助我。谢谢。
func ProductKeyFieldCheck() (CheckProductKeyEntry fyne.Widget, text string) {
CheckProductKeyEntry = widget.NewEntry()
CheckProductKeyEntry.SetPlaceHolder("")
CheckProductKeyEntry.Resize(fyne.NewSize(400, 30))
CheckProductKeyEntry.Move(fyne.NewPos(40, 100))
text := CheckProductKeyEntry.SelectedText()
return CheckProductKeyEntry, text
更多关于Golang中处理Entry时遇到的问题的实战教程也可以访问 https://www.itying.com/category-94-b0.html
1 回复
更多关于Golang中处理Entry时遇到的问题的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
在Fyne中,要从Entry组件获取文本,应该使用Text属性而不是SelectedText()方法。SelectedText()只返回用户选中的文本部分,而不是整个输入内容。
以下是修正后的代码示例:
func ProductKeyFieldCheck() (fyne.Widget, string) {
entry := widget.NewEntry()
entry.SetPlaceHolder("")
entry.Resize(fyne.NewSize(400, 30))
entry.Move(fyne.NewPos(40, 100))
// 获取完整的输入文本
text := entry.Text
return entry, text
}
如果需要实时获取文本变化,可以绑定到OnChanged回调:
func ProductKeyFieldCheck() fyne.Widget {
entry := widget.NewEntry()
entry.SetPlaceHolder("")
entry.Resize(fyne.NewSize(400, 30))
entry.Move(fyne.NewPos(40, 100))
// 实时监听文本变化
entry.OnChanged = func(text string) {
fmt.Println("当前输入:", text)
// 在这里处理文本
}
return entry
}
或者使用数据绑定:
func ProductKeyFieldCheck() (fyne.Widget, binding.String) {
data := binding.NewString()
entry := widget.NewEntryWithData(data)
entry.SetPlaceHolder("")
entry.Resize(fyne.NewSize(400, 30))
entry.Move(fyne.NewPos(40, 100))
// 随时获取绑定的值
text, _ := data.Get()
return entry, data
}

