aardio界面和控件

今天学习 aardio 创建窗口与控件的知识海洋。这部分内容就像是为程序打造外观,重要性不言而喻。

一、创建主窗口

创建主窗口是程序界面搭建的基石。在 aardio 里,操作说难不难,说简单也得用心学。

(一)最简主窗口创建

ini 复制代码
import win.ui;
var winform = win.form(text = "我的第一个窗口"); 
winform.width = 500; 
winform.height = 400; 
winform.show(); 
win.loopMessage(); 

先引入 win.ui 库,这是创建窗口的得力助手。然后声明 winform 对象,设定好窗口标题,调整宽度和高度,最后显示窗口并运行消息循环,一个简单的主窗口就亮相了。这就好比搭个简易小房子,虽然简单,但却是后续添砖加瓦的基础。

(二)带位置设定的主窗口

ini 复制代码
import win.ui;
var winform = win.form(text = "带位置的窗口");
winform.width = 300;
winform.height = 200;
win.setPos(winform.hwnd,200,800);

winform.show();
win.loopMessage();

这里多了窗口位置的设置,win.setPos(winform.hwnd,200,800); 就像给小房子选了个特定的地址,能让窗口精准地出现在屏幕上想要的地方。

二、添加按钮控件

按钮控件就像是程序这个房子里的特殊开关,能触发各种操作。

(一)添加单个按钮

ini 复制代码
import win.ui;
var winform = win.form(text="带按钮的窗口";right=500;width=500)
winform.add(
button={cls="button";text="点击我";left = 100; top = 80; right = 200; bottom = 120};
)
winform.show();
win.loopMessage();

winform.add 方法,给按钮安排好位置、大小,写上显示的文字,一个按钮就添加到窗口里了,就像在房子里装了个开关,就等用户来按动。

(二)添加多个按钮

ini 复制代码
import win.ui;
var winform = win.form(text="带按钮的窗口";right=500;width=500)
winform.add(
btn={cls="button";text="按钮一";left = 50; top = 50; right = 150; bottom = 90};
btn2={cls="button";text="按钮二";left = 150; top = 50; right = 250; bottom = 90}
)
winform.show();
win.loopMessage();

添加多个按钮时,每个按钮都能有自己的个性,设置不同的位置和文字,就像给房子装了好几个功能各异的开关。

三、添加文本框控件

文本框控件就像是程序里的留言板,方便用户输入和显示文字。

(一)简单文本框添加

ini 复制代码
import win.ui;
var winform = win.form(text = "带文本框的窗口";width= 300;height= 200);
winform.add(
edit={cls="edit";text="";left = 50; top = 50; right = 250; bottom = 90}
)
winform.show();
win.loopMessage();

winform.add 方法设置好位置和大小,文本框就添加成功了,就像在房子里放了一块空白留言板。

(二)带初始文本的文本框

ini 复制代码
import win.ui;
var winform = win.form(text = "带文本的窗口";width= 300;height= 200);
winform.add(
edit={cls="edit";text="请输入内容"; left = 50; top = 50; right = 250; bottom = 90}
)
winform.show();
win.loopMessage();

这种文本框提前写好了提示内容,就像在留言板上先写了提示语,引导用户去输入。

四、实践

题目是创建一个主窗口,加上一个"提交"按钮和显示"请输入你的姓名"的文本框。

ini 复制代码
import win.ui;
var winform = win.form(text = "综合窗口";width= 300;height= 200);
winform.add(
btn={cls = "button";text = "提交"; left = 100; top = 120; right = 200; bottom = 160}
edit={cls="edit";text="请输入你的姓名"; left = 50; top = 50; right = 250; bottom = 90}
)
winform.show();
win.loopMessage();

通过今天的学习和习题练习,我对 aardio 创建窗口和控件有了更扎实的认识。不过也明白这只是个开始,还有好多知识等着我去探索,以后得继续加油,多实践多总结,才能把这些知识真正吃透。

相关推荐
superman超哥2 天前
Serde 性能优化的终极武器
开发语言·rust·编程语言·rust serde·serde性能优化·rust开发工具
superman超哥8 天前
Serde 的零成本抽象设计:深入理解 Rust 序列化框架的哲学
开发语言·rust·开发工具·编程语言·rust序列化
superman超哥8 天前
序列化格式的灵活切换:Serde 生态的统一抽象力量
开发语言·rust·编程语言·rust serde·序列化格式·rust序列化格式
superman超哥8 天前
派生宏(Derive Macro)的工作原理:编译时元编程的艺术
开发语言·rust·开发工具·编程语言·rust派生宏·derive macro·rust元编程
superman超哥8 天前
处理复杂数据结构:Serde 在实战中的深度应用
开发语言·rust·开发工具·编程语言·rust serde·rust数据结构
superman超哥8 天前
错误处理与验证:Serde 中的类型安全与数据完整性
开发语言·rust·编程语言·rust编程·rust错误处理与验证·rust serde
superman超哥8 天前
自定义序列化逻辑:掌控数据编码的每一个细节
开发语言·rust·编程语言·rust自定义序列化·rust数据编码
superman超哥8 天前
Serialize 与 Deserialize Trait:Rust 类型系统与序列化的完美融合
开发语言·rust·开发工具·编程语言·rust序列化·rust类型·serialize
superman超哥8 天前
Actix-web 性能优化技巧:从原理到实践
开发语言·rust·编程语言·actix-web
superman超哥8 天前
Rust 与数据库连接池的集成:从理论到生产实践
开发语言·rust·编程语言·rust与数据库连接池的集成