aardio 快捷键与热键

wx 7天前 118

 

今天开始学习aardio中的快捷键与热键设置。

简单热键设置

我发现aardio里设置热键其实很简单,用key.hotkey模块就能轻松实现。试了个小例子,当按下Ctrl+Alt+A组合键时,程序会弹出消息框,代码如下:

import win.ui;
import key.hotkey
/*DSG{{*/
var winform = win.form(text="热键示例";right=759;bottom=469)
winform.add(
edit={cls="edit";text="试试按下 Ctrl+Alt+A!";left=18;top=30;right=739;bottom=149;edge=1;multiline=1;z=1}
)
/*}}*/

hotkey = key.hotkey();

hotkey.loadTable({
    ["Ctrl+Alt+A"] = function(){  
        win.msgbox("你按下了 Ctrl+Alt+A!")
    };
})
winform.show()
win.loopMessage()
截图一
截图一

这里先创建了hotkey对象,然后用loadTable方法设定热键组合和对应的操作函数,运行后按下组合键真的弹出了消息框,超有成就感!

多个热键设置

原来还能在一个程序里设置多个热键,每个热键对应不同功能,试了下设置Ctrl+Alt+ACtrl+Alt+B两个热键,代码是这样的:

import win.ui;
import key.hotkey;
/*DSG{{*/
var winform = win.form(text="多个热键示例";right=759;bottom=469)
winform.add(
edit={cls="edit";text="试试按下 Ctrl+Alt+P 或 Ctrl+Alt+B";left=17;top=26;right=731;bottom=160;edge=1;multiline=1;z=1}
)
/*}}*/

hotkey = key.hotkey();
hotkey.loadTable({
    ["Ctrl+Alt+P"] = function(){  
        win.msgbox("你按下了 Ctrl+Alt+P!")
    };
})

hotkey.loadTable({
    ["Ctrl+Alt+B"] = function(){  
        win.msgbox("你按下了 Ctrl+Alt+B!")
    };
})

winform.show()
win.loopMessage()
截图二
截图二

就像给程序设置了不同的“密码组合”,按下不同热键会弹出不同消息,感觉程序一下子变得灵活起来了。

热键与程序功能结合

把热键和程序功能结合起来才是真正的实用场景,试了用热键触发打开记事本的操作,代码如下:

import win.ui;
import key.hotkey
import process;
/*DSG{{*/
var winform = win.form(text="热键与功能结合示例";right=759;bottom=469)
winform.add(
edit={cls="edit";text="试试按下 Ctrl+Alt+N";left=26;top=18;right=708;bottom=141;edge=1;multiline=1;z=1}
)
/*}}*/

var hotkey = key.hotkey(); 
hotkey.loadTable({
    ["Ctrl+Alt+N"] = function(){  
        process.execute("notepad.exe")
    };
})
winform.show()
win.loopMessage()
截图三
截图三

按下Ctrl+Alt+N真的瞬间打开了记事本,这种“一键启动”的感觉太爽了,以后可以用热键触发各种程序操作。

挑战

尝试完成了设置文件保存和打开热键的习题,写了个完整程序:

import win.ui;
import process;
import key.hotkey;
/*DSG{{*/
var winform = win.form(text="热键综合示例";right=759;bottom=469)
winform.add(
edit={cls="edit";text="试试先按下 Ctrl+Alt+S 再按下 Ctrl+Alt+C";left=37;top=36;right=736;bottom=142;edge=1;multiline=1;z=1}
)
/*}}*/

var hotkey = key.hotkey(); 
hotkey.loadTable({
    ["Ctrl+Alt+S"] = function(){  
        var filePath = io.file("文本文件.txt","w+"); 
        filePath.write('这是保存的文本内容。');
        filePath.close()
        win.msgbox("文件保存成功")
    };
})

hotkey.loadTable({
    ["Ctrl+Alt+C"] = function(){  
        import console
        var filePath = "./文本文件.txt"; 
        process.execute("notepad.exe",filePath)
    };
})

winform.show()
win.loopMessage()
截图四
截图四

Ctrl+Alt+S能保存文本文件,Ctrl+Alt+C能打开文件,通过io.file实现文件写入,用process.execute调用记事本打开文件,终于实现了热键控制文件操作,成就感满满!

学习总结

今天学会了用key.hotkey模块设置热键,从简单单个热键到多个热键,再到结合程序功能,最后实现文件操作热键,一步步掌握了热键设置的核心用法。感觉热键设置让程序操作变得更便捷,就像给程序赋予了“快捷键魔法”,以后要多尝试把热键和更多功能结合起来,提升程序使用效率。

 


最新回复 (2)
  • 光庆 7天前
    0 引用 2

  • wx 7天前
    0 引用 3
    光庆

    谢谢鼓励

返回