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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何顯示可以在 fyne GUI 上復(fù)制的文本?

如何顯示可以在 fyne GUI 上復(fù)制的文本?

Go
holdtom 2022-10-24 15:14:03
在我的fyneGUI 上,我想顯示用戶可以復(fù)制的文本。到目前為止,我使用的是 (multi-line) widget.Entry,請(qǐng)參見(jiàn)下面的示例。雖然這可行,但似乎不合適,因?yàn)椤拜斎搿币馕吨脩糨斎搿@里不是這種情況。如果我使用 widget.Label 或 canvas.Text,則無(wú)法復(fù)制字符。那么這里最好的方法是什么?例子:package mainimport (    "time"    "fyne.io/fyne/v2"    "fyne.io/fyne/v2/app"    "fyne.io/fyne/v2/container"    "fyne.io/fyne/v2/data/binding"    "fyne.io/fyne/v2/widget")func main() {    myApp := app.New()    myWindow := myApp.NewWindow("demo")    txtBound := binding.NewString()    txtWid := widget.NewEntryWithData(txtBound)    txtWid.MultiLine = true    // we can disable the Entry field so the user can't modify the text:    txtWid.Disabled()    go func() {        for {            txtBound.Set(time.Now().Format("2006-01-02\n15:04:05\nMST -0700"))            time.Sleep(time.Second)        }    }()    content := container.NewBorder(nil, nil, nil, nil, txtWid)    myWindow.SetContent(content)    myWindow.Resize(fyne.NewSize(500, 300))    myWindow.ShowAndRun()}可以選擇輸入字段中的文本,然后使用鼠標(biāo)/右鍵單擊上下文菜單或 ctrl-c 進(jìn)行復(fù)制。在 Windows 10 上,這看起來(lái)像
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

標(biāo)簽僅用于顯示,它們不提供用戶交互 - 這是基于 Web 的應(yīng)用程序讓我們感到困惑的事情:)。在 Fyne 應(yīng)用程序中,我們的目標(biāo)是提示所有用戶交互,按鈕和鏈接是交互的,文本不是。有兩種可能的方法:

  1. 在您的標(biāo)簽旁邊放置一個(gè)“復(fù)制”按鈕,這已成為許多應(yīng)用程序(例如密碼管理器或 YouTube)的常見(jiàn)做法

  2. 使用禁用的條目,以便文本可以交互但不能編輯。


查看完整回答
反對(duì) 回復(fù) 2022-10-24
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

為了補(bǔ)充 andy.xyz 的答案,這是一個(gè)如何使用按鈕將特定內(nèi)容復(fù)制到剪貼板的示例。Fyne 窗口有一個(gè)Clipboard類型,它提供了必要的界面,例如

import (

    "time"


    "fyne.io/fyne/v2"

    "fyne.io/fyne/v2/app"

    "fyne.io/fyne/v2/container"

    "fyne.io/fyne/v2/data/binding"

    "fyne.io/fyne/v2/layout"

    "fyne.io/fyne/v2/theme"

    "fyne.io/fyne/v2/widget"

)


func main() {

    myApp := app.New()

    myWindow := myApp.NewWindow("demo")


    txtBound := binding.NewString()

    txtWid := widget.NewLabelWithData(txtBound)


    bottomBox := container.NewHBox(

        layout.NewSpacer(),

        widget.NewButtonWithIcon("copy content", theme.ContentCopyIcon(), func() {

            if content, err := txtBound.Get(); err == nil {

                myWindow.Clipboard().SetContent(content)

            }

        }),

    )


    content := container.NewBorder(nil, bottomBox, nil, nil, txtWid)


    go func() { // make changing content...

        for {

            txtBound.Set(time.Now().Format("2006-01-02\n15:04:05\nMST -0700"))

            time.Sleep(time.Second)

        }

    }()


    myWindow.SetContent(content)

    myWindow.Resize(fyne.NewSize(500, 300))

    myWindow.ShowAndRun()

}

在 Windows 10 上,這看起來(lái)像

http://img1.sycdn.imooc.com//63563b7700014ebc04990328.jpg

查看完整回答
反對(duì) 回復(fù) 2022-10-24
  • 2 回答
  • 0 關(guān)注
  • 464 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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