sulryn 发表于 2023-10-22 17:34:43

[Mudlet]Geyser基本教程之Label变为按钮

本帖最后由 sulryn 于 2023-10-22 05:36 PM 编辑

Mudlet 的所有UI元素里,最常用的就是 Geyser.Label,因为 Label (标签)的用途广泛:

[*]在2024年更新4.18版本的Geyser.Button以前,Geyser.Label 主要用于制作按钮。
[*]Geyser.Label 同样可以用于显示文字或数值。
[*]也可以作为单纯的文字或图片标签,可以用来播放GIF图。


Geyser.Label 所有函数的参考网站:https://www.mudlet.org/geyser/fi ... 56f16979662275aaacc
StyleSheet 参考网站:https://doc.qt.io/qt-5/stylesheet-reference.html#border-style

创建一个 Geyser.Label 很简单,新建一个脚本,输入如下例子:
label_example = Geyser.Label:new({--label_example是这个标签的IDname = "label_example",--label_example是这个标签的名字,不同于ID,比如用在raiseWindow()函数里,要写名字不能写IDx = "50%",-- x 是 标签在整个窗口里的X轴(横向)位置(如果放在一个容器里则是容器里的位置)y = 0,-- y 是 标签在整个窗口里的Y轴(纵向)位置width = "30%",-- 标签的宽度,如果是百分比则按主窗口或是容器的宽度来算
height = "50%",-- 标签的高度
fgColor = "white", --字体颜色color = "blue", --背景颜色
font = “SimHei", --使用的字体
stylesheet = [[ ]], --使用的stylesheet, 还没有学会stylesheet的话可以忽略
message = [[标签]]--要显示的文字 [[ ]]括号里可以用html格式,例如center来居中
})


将这个Label变成按钮则需要随后加一句:


label_example:setClickCallback(function ()--设置点击标签后使用的函数
send("look")--这里可以填写你需要发送的命令或者是任何lua函数
end)





sulryn 发表于 2023-10-22 17:39:14

再附赠一个鼠标左右键发送不同命令的办法:
label_example:setClickCallback(function (event)
if event.button == "LeftButton" then
    send("look")--按下鼠标左键后发送的命令
elseif event.button == "RightButton" then
    send("status_me") --按下鼠标右键后发送的命令
end
end)
页: [1]
查看完整版本: [Mudlet]Geyser基本教程之Label变为按钮