首页 > 其他分享 >golang fyne 创建两个窗口,窗口居中。点击按钮显示第二个窗口 myApp.NewWindow("new")

golang fyne 创建两个窗口,窗口居中。点击按钮显示第二个窗口 myApp.NewWindow("new")

时间:2023-09-18 17:58:28浏览次数:50  
标签:窗口 io fyne newWin myApp 按钮 new

环境:go fyne

实现:在窗口的按钮中,点击按钮弹出第二窗口,并且窗口居中

注意:创建的第一个窗口和第二个窗口必须是通过同一个

myApp := app.New()创建出来的

效果:

实现:

 1 package main
 2 
 3 import (
 4     "fmt"
 5 
 6     "fyne.io/fyne/v2"
 7     "fyne.io/fyne/v2/app"
 8     "fyne.io/fyne/v2/container"
 9     "fyne.io/fyne/v2/layout"
10     "fyne.io/fyne/v2/widget"
11 )
12 
13 func main() {
14     myApp := app.New()
15     // 新建窗口
16     myWindow := myApp.NewWindow("Button Widget")
17 
18     // 创建按钮
19     content := widget.NewButton("click me", func() {
20         fmt.Println("点击按钮创建第二个窗口")
21         newWin := myApp.NewWindow("new")
22         label := widget.NewLabel("hello")
23         newWin.SetContent(label)
24         newWin.Resize(fyne.NewSize(200, 200))
25         newWin.CenterOnScreen()
26         newWin.Show()
27     })
28 
29     // 垂直布局
30     // 因为只有一个按钮,按钮会占满整个窗口,使用布局可以避免这个情况
31     grid := container.New(layout.NewVBoxLayout(), content)
32 
33     //窗口添加内容
34     myWindow.SetContent(grid)
35     // 窗口大小
36     myWindow.Resize(fyne.NewSize(500, 500))
37     //窗口居中
38     myWindow.CenterOnScreen()
39     myWindow.ShowAndRun()
40 }

 

标签:窗口,io,fyne,newWin,myApp,按钮,new
From: https://www.cnblogs.com/sinberya/p/17712583.html

相关文章

  • [Writeup]2022 NewstarCTF_Week5(Web部分)
    一只网络安全菜鸟--(˙<>˙)/--写博客主要是想记录一下自己的学习过程,过两年毕业了也能回头看看自己都学了些啥东西。由于本人水平有限内容难免有错误、疏漏、逻辑不清、让人看不懂等各种问题,恳请大家批评指正如果我写的东西能对你有一点点帮助,那真是再好不过了。2023Newsta......
  • 代码随想录算法训练营day13| ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结
    239.滑动窗口最大值mydemo--(自己思路)--failed超出时间限制classSolution{public:vector<int>maxSlidingWindow(vector<int>&nums,intk){vector<int>result;stack<int>stack;intlen=nums.size();for(......
  • Qt设置窗口显示到扩展屏
      #include<QDesktopWidget>voidDialog::setDisplayPos(){QDesktopWidget*desktop=QApplication::desktop();//获取显示器个数intnum=desktop->screenCount();//设置窗口显示到扩展屏上//如果有两个显示器,num=2,默认主屏inde......
  • Sql中的窗口函数
    在开发过程中,经常会遇到对分数进行排名的需求,通常的写法大部分都是子查询,而窗口函数可以更加便利的进行分数排列.窗口函数窗口函数是一种在查询结果集的特定窗口或分组中计算结果的函数。它可以根据指定的排序规则和窗口范围进行计算,并返回每个行的结果。窗口函数通常与OVER......
  • malloc/free 和 new/delete的区别
    classTest{public: char*a; Test(){ this->a=(char*)malloc(10);//this->a表示对象自身的成员a strcpy_s(this->a,10,"hello"); printf("Testinit\n"); } ~Test(){ free(this->a); printf("TestdeInit\n"); }......
  • Virtual Box 安装 Ubuntu 22.04 操作系统窗口过小,修改分辨率
    问题在VirtualBox安装Ubuntu操作系统时,默认给的800x600窗口太小,ubuntu22.04的安装按钮被遮挡,无法顺利执行安装引导。解决安装引导是一个窗口化程序,支持鼠标拖动。鼠标左键单击窗口标题栏,拖动窗口在桌面处右键,选择显示设置设置合适的分辨率,点击应用短暂黑屏后,界......
  • C++new和delete运算符介绍
    内存管理运算符new、new[]、delete和delete[]也可以进行重载,其重载形式既可以是类的成员函数,也可以是全局函数。一般情况下,内建的内存管理运算符就够用了,只有在需要自己管理内存时才会重载。以成员函数的形式重载new运算符:void*className::operatornew(size_tsize){......
  • QT基础教学(窗口组件)
    (文章目录)前言本篇文章将带大家学习QT中的窗口组件。资料合集地微信公众号:优质程序猿一、窗口组件窗口组件是在图形用户界面(GUI)应用程序中用于创建和管理窗口的可视化元素。窗口组件提供了用户与应用程序交互的界面,包括各种控件、布局和事件处理机制等。在Qt中,窗口组件主......
  • TCP的滑动窗口与拥塞控制
    客户端每发送的一个包,服务器端都应该有个回复,如果服务器端超过一定的时间没有回复,客户端就会重新发送这个包,直到有回复。为了保证顺序性,每一个包都有一个ID。在建立连接的时候,会商定起始的ID是什么,然后按照ID一个个发送。为了保证不丢包,对于发送的包都要进行应答,但是这个应答......
  • 滑动窗口框架:来自 labuladong
    /*滑动窗口算法框架*/voidslidingWindow(strings,stringt){unordered_map<char,int>need,window;for(charc:t)need[c]++;intleft=0,right=0;intvalid=0;while(right<s.size()){//c是将移入窗口的字符......