<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>扩展新类型 on 菠萝学</title><link>https://www.poloxue.com/docs/gofyne/08-extend/</link><description>Recent content in 扩展新类型 on 菠萝学</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><managingEditor>poloxue123@gmail.com (POLO XUE)</managingEditor><webMaster>poloxue123@gmail.com (POLO XUE)</webMaster><copyright>© 2026 POLO XUE</copyright><lastBuildDate>Thu, 21 May 2026 19:07:14 +0800</lastBuildDate><atom:link href="https://www.poloxue.com/docs/gofyne/08-extend/index.xml" rel="self" type="application/rss+xml"/><item><title>自定义布局 Layout</title><link>https://www.poloxue.com/docs/gofyne/08-extend/01-custom-layout/</link><pubDate>Sun, 20 Apr 2025 00:00:00 +0000</pubDate><author>poloxue123@gmail.com (POLO XUE)</author><guid>https://www.poloxue.com/docs/gofyne/08-extend/01-custom-layout/</guid><description>&lt;p&gt;在Fyne应用程序中，每个&lt;code&gt;Container&lt;/code&gt;都使用一个简单的布局算法来排列其子元素。Fyne在&lt;code&gt;fyne.io/fyne/v2/layout&lt;/code&gt;包中定义了许多可用的布局。如果你查看代码，你会看到它们都实现了&lt;code&gt;Layout&lt;/code&gt;接口。&lt;/p&gt;</description></item><item><title>自定义控件 Widget</title><link>https://www.poloxue.com/docs/gofyne/08-extend/02-custom-widget/</link><pubDate>Wed, 23 Apr 2025 00:00:00 +0000</pubDate><author>poloxue123@gmail.com (POLO XUE)</author><guid>https://www.poloxue.com/docs/gofyne/08-extend/02-custom-widget/</guid><description>&lt;p&gt;标准控件与 Fyne 一起提供，旨在支持标准用户交互和需求。由于 GUI 经常需要提供自定义功能，因此可能需要编写自定义控件。本文概述了如何进行。&lt;/p&gt;
&lt;p&gt;一个控件被分为两个区域 - 每个都实现一个标准接口 - &lt;code&gt;fyne.Widget&lt;/code&gt; 和 &lt;code&gt;fyne.WidgetRenderer&lt;/code&gt;。控件定义行为和状态，而渲染器用于定义它应如何绘制到屏幕上。&lt;/p&gt;</description></item><item><title>资源包 Bundle</title><link>https://www.poloxue.com/docs/gofyne/08-extend/03-bundle/</link><pubDate>Sat, 26 Apr 2025 00:00:00 +0000</pubDate><author>poloxue123@gmail.com (POLO XUE)</author><guid>https://www.poloxue.com/docs/gofyne/08-extend/03-bundle/</guid><description>&lt;h2 class="relative group"&gt;资源包
 &lt;div id="资源包" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%b5%84%e6%ba%90%e5%8c%85" aria-label="锚点"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;基于 Go 的应用程序通常构建为单个二进制可执行文件，Fyne应用程序也是如此。单个文件使我们更容易分发和安装软件。不幸的是，GUI应用程序通常需要额外的资源来渲染用户界面。为了管理这个挑战，Go应用程序可以将资产捆绑到二进制文件本身中。Fyne工具包更喜欢使用&amp;quot;fyne bundle&amp;quot;，因为它有我们将在下面探索的各种好处。&lt;/p&gt;</description></item><item><title>自定义主题 Theme</title><link>https://www.poloxue.com/docs/gofyne/08-extend/04-custom-theme/</link><pubDate>Tue, 29 Apr 2025 00:00:00 +0000</pubDate><author>poloxue123@gmail.com (POLO XUE)</author><guid>https://www.poloxue.com/docs/gofyne/08-extend/04-custom-theme/</guid><description>&lt;p&gt;应用程序能够加载自定义主题，这些主题可以对标准主题进行小的更改，或提供完全独特的外观。一个主题需要实现&lt;code&gt;fyne.Theme&lt;/code&gt;接口的函数，该接口定义如下：&lt;/p&gt;</description></item><item><title>扩展控件 Widget</title><link>https://www.poloxue.com/docs/gofyne/08-extend/05-extending-widgets/</link><pubDate>Fri, 02 May 2025 00:00:00 +0000</pubDate><author>poloxue123@gmail.com (POLO XUE)</author><guid>https://www.poloxue.com/docs/gofyne/08-extend/05-extending-widgets/</guid><description>&lt;p&gt;Fyne标准控件提供最小的功能和自定义选项以支持大多数用例。在某些时候可能需要更高级的功能。与其让开发者构建自己的控件，不如扩展现有的控件。&lt;/p&gt;
&lt;p&gt;例如，我们将扩展图标控件以支持被点击。为此，我们声明一个新的结构体，嵌入了&lt;code&gt;widget.Icon&lt;/code&gt;类型。我们创建一个构造函数，调用重要的&lt;code&gt;ExtendBaseWidget&lt;/code&gt;函数。&lt;/p&gt;</description></item><item><title>数字输入框 Entry</title><link>https://www.poloxue.com/docs/gofyne/08-extend/06-numerical-entry/</link><pubDate>Mon, 05 May 2025 00:00:00 +0000</pubDate><author>poloxue123@gmail.com (POLO XUE)</author><guid>https://www.poloxue.com/docs/gofyne/08-extend/06-numerical-entry/</guid><description>&lt;p&gt;在传统意义上，GUI程序使用回调来自定义控件的操作。Fyne不暴露插入自定义回调来捕获控件上的事件，但这并不是必需的。Go语言完全有足够的扩展性来实现这一点。&lt;/p&gt;</description></item></channel></rss>