【问题标题】:Creating objects in Hy在 Hy 中创建对象
【发布时间】:2014-10-02 09:59:42
【问题描述】:

我查看了所有 Hy 的文档,但找不到在任何地方创建对象的方法。更具体地说,我正在尝试关注 this PySide tutorial,但将每个命令都转换为 Hy,我不确定如何在 Hy 中执行 app = QApplication(sys.argv)。感谢所有可能的帮助。

【问题讨论】:

    标签: python qt lisp pyside hy


    【解决方案1】:

    在 Python 中,您通过调用构造函数来创建对象,构造函数是与类同名的函数。 Hy 也是如此。

    (import sys)
    (import [PySide.QtGui [QApplication]])
    
    (setf app (QApplication sys.argv))
    

    注意事项:

    • 您分配使用setf 创建的对象
    • 确保导入所有必要的模块

    【讨论】:

    • 当我尝试这样做时,我收到以下错误消息:Traceback (most recent call last): File "<input>", line 1, in <module> NameError: name 'QApplication' is not defined
    • 看起来您缺少正确的导入。我更新了我的答案。
    • 谢谢 - 做到了。但是,现在我不确定如何调用 app.exec() 函数 - 我尝试了 (.exec app)(exec app),但都没有成功。
    • 阅读文档。函数是exec_。试试(.exec_ app)。 (PS 你应该包含一条错误消息而不是说“都不起作用”)。
    • 很抱歉。我尝试了(.exec_ app),但后来我的 Hy REPL 给了我以下消息并退出:ICE default IO error handler doing an exit(), pid = 28654, errno = 32
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多