第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在多行 Fyne Entry 小部件中捕獲 Enter(更一般地,調(diào)用“父類”)

在多行 Fyne Entry 小部件中捕獲 Enter(更一般地,調(diào)用“父類”)

Go
UYOU 2022-05-05 17:37:48
這個問題更多是關(guān)于圍棋而不是 Fyne。擴(kuò)展 Fyne 的 Entry 小部件是規(guī)定的方式,我想檢測何時按下 Enter(Return)并將其用作我需要對 Entry 內(nèi)容采取行動的信號。我希望 Shift-Return 在文本中添加換行符,而不表示我需要采取行動。給定一個以type myEntry struct {    widget.Entry    .....more... }很容易添加func (m *myEntry) TypedKey(key *fyne.KeyEvent) {    if key.Name == "Return" {            ///send m.Text somewhere...    } else {        //WRONG: m.(*widget.Entry).TypedKey(key) //give Key to Entry widget to process    }}但 else 子句無法編譯。因此,在確定這不是我想要攔截的 Key 之后,我該如何將它還給 widget.Entry?這里關(guān)于調(diào)用“基類”的其他問題,Go 沒有,似乎沒有涵蓋這種情況。我想我可以通過添加來巧妙地解決這個問題type myEntry struct {    widget.Entry    me *Fyne.Focusable并在創(chuàng)建時將我設(shè)置為 myEntry 的地址,因此我可以簡單地調(diào)用 me.TypedKey。但是沒有處理鑰匙,然后發(fā)生了崩潰。在創(chuàng)建時設(shè)置 me=&myNewEntryObject 顯然不足以“widget.Entry-like”贏得這一天。我知道 Go 不是 OO 語言,但是擴(kuò)展一個類型然后將調(diào)用重定向回父類型是一種基本的編程技術(shù);我什至?xí)f,如果您無法從擴(kuò)展中恢復(fù)到“基本結(jié)構(gòu)”的行為,那么擴(kuò)展一個結(jié)構(gòu)是沒有意義的。我錯過了什么?
查看完整描述

1 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個贊

可以使用類型的名稱來引用沒有名稱的嵌入式類型 - 因此以下內(nèi)容將起作用:


func (m *myEntry) TypedKey(key *fyne.KeyEvent) {

    if key.Name == "Return" {

            // send m.Text somewhere...

    } else {

        Entry.TypedKey(key)

    }

}


查看完整回答
反對 回復(fù) 2022-05-05
  • 1 回答
  • 0 關(guān)注
  • 293 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號