找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

查看: 55|回复: 0

[心得] aardio 快捷键与热键

[复制链接]
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 51 天

    连续签到: 5 天

    [LV.5]常住居民I

    28

    主题

    56

    回帖

    714

    积分

    高级会员

    积分
    714
    来自: 中国贵州贵阳
    发表于 2025-5-26 13:58:16 | 显示全部楼层 |阅读模式 来自: 中国贵州贵阳
    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA

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

    简单热键设置
    我发现aardio里设置热键其实很简单,用key.hotkey模块就能轻松实现。试了个小例子,当按下Ctrl+Alt+A组合键时,程序会弹出消息框,代码如下:
    [AAuto] 纯文本查看 复制代码
    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+A和Ctrl+Alt+B两个热键,代码是这样的:
    [AAuto] 纯文本查看 复制代码
    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()

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

    热键与程序功能结合
    把热键和程序功能结合起来才是真正的实用场景,试了用热键触发打开记事本的操作,代码如下:
    [AAuto] 纯文本查看 复制代码
    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真的瞬间打开了记事本,这种“一键启动”的感觉太爽了,以后可以用热键触发各种程序操作。

    挑战
    尝试完成了设置文件保存和打开热键的习题,写了个完整程序:
    [AAuto] 纯文本查看 复制代码
    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模块设置热键,从简单单个热键到多个热键,再到结合程序功能,最后实现文件操作热键,一步步掌握了热键设置的核心用法。感觉热键设置让程序操作变得更便捷,就像给程序赋予了“快捷键魔法”,以后要多尝试把热键和更多功能结合起来,提升程序使用效率。



    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|非业余 - aardio 编程语言 - 非官方问答社区 知道创宇云防御

    GMT+8, 2025-6-3 05:50 , Processed in 0.092646 second(s), 31 queries .

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表