erlang wx图形界面学习-2
来源:互联网 发布:ubuntu 切换系统语言 编辑:程序博客网 时间:2024/06/05 10:13
sudoku单独的copy出来,在终端下执行 erlc *.erl
sudoku.hrl:20: can’t find include file “../../include/wx.hrl” ,找不到wx.hrl头文件.
将wx.hrl copy 过来,在把sudoku.hrl的include改一下 -include(“wx.hrl”). 重新erlc +debug_info *.erl
之所以+debug_info是为了到时候通过debugger:start() 一步步看下去,这样比较方便,毕竟打断点嘛,这也是为什么把sudoku copy出来的原因.(发现没啥用处,不需要打断点)
sudoku:start(). 启动程序,会启动一个进程调用sudoku下的init/1 方法,
?TC实际就是调用sudoku下的tc/3, 其中timer:tc/3的作用是评估Fun() 的执行时间,也就是sudoku_gui:new/1的执行时间.
sudoku_gui模块负责的就是图形界面和事件处理
sudoku_gui:new/1 :
启动wx , wx_object:start_link/3 会调用 Mod:init/1
create_window/0:
wxFrame:new/4:生成应用窗口的框架
wxFrame:createStatusBar/2 :创建状态栏
wxFrame:connect/2 : 和事件绑定起来,事件触发时调用handle_event中对应方法.
wxMenuBar:new/0:创建一个菜单栏
wxMenu:new/1:创建一个菜单
wxMenu:append/3:在菜单末尾添加一个字符串项,并指定Id
wxMenu:appendSeparator/1:菜单末尾添加一个分隔符
wxMenu:appendRadioItem/3:添加一个单选item
wxMenu:appendCheckItem/3:添加一个可选项item
wxFrame:setMenuBar/2:为框架设置指定状态栏
wxBoxSizer:new/1: 创建一个可嵌套容器,容器的布局格式为:水平布局或者垂直布局
wxPanel:new/1:创建一个放置控件的窗口
wxButton:new/3:创建一个按钮
wxSizer是一个可嵌套的容器
wxSizer:addSpacer/2 :给sizer指定不可伸缩的空间
wxSizerFlags:new/0
wxSizerFlags:proportion/2 :proportion为1时,主方向伸缩
sudoku_board:new/1 :之后在看
wxSizer:add/3 :把一个wx_object()放入另一个wx_object()中
wxWindow:setSizer/2 :设置窗口指定的布局
wxSizer:fit/2 :调整窗口匹配sizer的大小
wxWindow:show/1 :显示窗口
wxMenuItem:Check/1 : 检查确认item选项
具体wx的方法查看 http://www.wxwidgets.org/
总的来说create_window()就是
1:创建菜单栏MenuBar;
2:创建菜单File,Opt,Help.添加到菜单栏中;
3:设置菜单栏到窗口框架Frame;
4:创建总的窗口,垂直布局的 MainSz;
5:创建存放按钮窗口,水平布局的Top;
6:创建框架面板用来存放窗口;
7:设置Top窗口到总窗口MainSz;
8:创建游戏窗口Board,设置到总窗口;
9:将总窗口放入面板Panel中;
10:显示整个Frame;
- erlang wx图形界面学习-2
- erlang wx图形界面学习-1
- erlang wx图形界面学习-3
- erlang wx图形界面学习-4
- erlang wx图形界面学习-5
- [wxPython学习]wx.CallAfter和wx.FutureCall
- erlang 学习ets表-2
- 学习图形界面
- erlang源码编译问题--不编译wx模块
- 安装erlang] 解决方法 an not link the wx driver, wx will NOT be
- 学习Erlang
- erlang学习
- erlang 学习
- erlang学习
- \wx
- wx
- wx
- wx
- JS闭包与继承
- 第10周项目4- 哈夫曼编码的算法验证
- MyEclipse WebSphere开发教程:WebSphere 7安装指南(三)
- 将海康大华等网络摄像机RTSP流进行网页Flash rtmp和H5 hls直播的技术方案
- 3.观察者模式
- erlang wx图形界面学习-2
- jstree的简单使用例子
- python下如何安装.whl包?
- 数据结构第五周项目3--括号的匹配
- Android 之 APP上架应用宝平台
- Linux驱动学习--初识PCI驱动(二)
- car identify Location
- 使用IDEA搭建Maven+SpringMVC+Spring+Hibernate环境
- POJ 1456 Supermarket