package main
import (
"fmt"
"github.com/lxn/walk"
"github.com/lxn/walk/declarative"
)
type Window interface {
ShowWindow() //展示窗体界面
}
// 创建解压缩的界面类
type ComWindow struct {
Window
*walk.MainWindow //主窗体
}
// 展示压缩,解压成功失败提示信息的界面类
type LabWindow struct {
Window
}
// 创建界面类对象 对象.ShowWindow()
func Show(Window_Type string) {
var Win Window
switch Window_Type {
case "main_window":
Win = &ComWindow{}
case "lab_window":
Win = &LabWindow{}
default:
fmt.Println("参数传递错误")
}
Win.ShowWindow()
}
// 首先实现ShowWindow方法,展示出空白的窗口
func (comwindow *ComWindow) ShowWindow() {
pathWindow := new(ComWindow)
err := declarative.MainWindow{
AssignTo: &pathWindow.MainWindow, //关联主窗体
Title: "文件压缩助手",
MinSize: declarative.Size{800, 600}, //指定窗口的宽度与高度
}.Create() //创建窗口
if err != nil {
fmt.Println(err)
}
//窗口的展示,需要通过坐标来指定
pathWindow.SetX(650) //x坐标
pathWindow.SetY(300) //y坐标
pathWindow.Run() //运行窗口,才能将创建的窗口展示出来
}
package main
func main() {
Show("main_window")
}
为什么我的GUI界面显示不出来啊,是出现了什么错误导致的问题,希望能帮我解决一下