我目前在 Golang Fyne V2 框架中工作。我想在單擊/選擇我的條目小部件時調(diào)用自定義函數(shù)。我的方法是制作一個自定義條目小部件。 https://developer.fyne.io/api/v2.0/widget/entry.html問題是我的自定義小部件沒有否決以下功能:func (e *Entry) Tapped(ev *fyne.PointEvent)或者func (e *Entry) FocusGained()我的自定義輸入字段基本上是這樣的。我看到在 Gui 容器中呈現(xiàn)的 inputField 太棒了。但是當我點擊它時,“EXTRA FUNCTION CALL”沒有被打印出來。package guiimport ( "fmt" "fyne.io/fyne/v2" "fyne.io/fyne/v2/driver/desktop" "fyne.io/fyne/v2/widget")type InputField struct { widget.BaseWidget inputText *widget.Entry customFunction func()}func NewInputField() *InputField { i := &InputField{ BaseWidget: widget.BaseWidget{}, inputText: widget.NewEntry(), } i.inputText.Resize(i.MinSize()) i.customFunction = func() { fmt.Println("EXTRA FUNCTION CALL") } i.ExtendBaseWidget(i) return i}func (i *InputField) MinSize() fyne.Size { return fyne.NewSize(600, 30)}func (i *InputField) Tapped(ev *fyne.PointEvent) { fmt.Println("I have been tapped") i.customFunction()}func (i *InputField) FocusGained() { fmt.Println("I have been focussed") i.customFunction()}func (i *InputField) FocusLost() { fmt.Println("Focus lost")}func (i *InputField) MouseDown(m *desktop.MouseEvent) { fmt.Println("MouseDown") i.customFunction()}func (t *InputField) CreateRenderer() fyne.WidgetRenderer { return NewBaseRenderer([]fyne.CanvasObject{t.inputText})}
1 回答

蕭十郎
TA貢獻1815條經(jīng)驗 獲得超13個贊
不要擴展BaseWidget
and ,直接Entry
擴展即可。widget.Entry
通過該更改,它應(yīng)該可以按預(yù)期工作。
- 1 回答
- 0 關(guān)注
- 262 瀏覽
添加回答
舉報
0/150
提交
取消