社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
控件是对数据和方法的封装。控件有自己的属性和方法。属性是指控件的特征。方法是指控件的一些简单而可见的功能。如按钮就是一个控件,这个按钮是方形的,里面有张图片,这是我们能看到外观属性,同时,这个按钮具备被人按下的功能。
GTK
中控件主要分为两类:容器控件,非容器控件。
现在我们已经创建出了一个窗口程序,但是这个窗口什么也没有。接下来我们在窗口上添加按钮等元素。
在窗口中添加按钮控件,首先创建按钮,如下所示:
// 创建按钮
b := gtk.NewButton()
// 设置按钮大小
b.SetSizeRequest(80, 32)
// 设置按钮内容
b.SetLabel("点击")
按钮创建完成后,需要将按钮添加到窗口中,这就需要用到 布局
控件。
所谓 布局
控件,就是对窗口中将要显示的控件元素进行排列。将按钮等控件放在布局控件中,然后通过调整按钮控件的坐标来设置其在窗口中的位置。
创建布局控件:
// 创建布局控件(固定布局,任意布局)
layout := gtk.NewFixed()
布局控件创建完成后,将按钮添加到布局控件中。
layout.Add(b)
这时按钮在窗口的左上角,我们先调整一下按钮的位置。
// 放在布局的指定位置
layout.Put(b, 0, 0)
// 移动按钮的位置,必须先Put(),再用Move()
layout.Move(b, 280, 224)
整体代码:
package main
import (
"github.com/mattn/go-gtk/gtk"
"os"
)
func main(){
//GTK初始化操作
gtk.Init(&os.Args)
// 通过GTK创建窗口
win := gtk.NewWindow(gtk.WINDOW_TOPLEVEL)
// 设置窗体的大小
win.SetSizeRequest(640, 480)
// 设置窗体标题
win.SetTitle("GTK窗口")
// 创建按钮
b := gtk.NewButton()
// 设置按钮大小
b.SetSizeRequest(80, 32)
// 设置按钮内容
b.SetLabel("点击")
// 创建布局
layout := gtk.NewFixed()
// 将按钮 b 添加到布局中
layout.Add(b)
// 放在布局的指定位置
layout.Put(b, 0, 0)
// 移动按钮的位置,必须先Put(),再用Move()
layout.Move(b, 280, 224)
// 将布局放在界面中显示
win.Add(layout)
// 将界面显示
win.ShowAll()
// 调用GTK下的main运行程序
gtk.Main()
}
运行结果:
func (v *Fixed) Put(w IWidget, x, y int)
功能:固定布局容器添加控件
参数:
- IWidget:要添加的控件
- x,y:控件摆放位置的坐标
func (v *Widget) ShowAll()
功能:显示所有的控件。如果窗口放入一个容器,这时容器上所有的控件也会显示
欢迎访问我的个人网站:
李培冠博客:lpgit.com
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!