PyQt编程:表达式求值器、货币转换器与信号槽机制
1. 30行代码实现表达式求值器
在Python中,使用 eval() 函数可以避免在使用编译型语言时需要自己进行的解析和错误检查工作。以下是一个简单的应用程序示例:
app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()
在定义了 Form 类后,在 calculate.pyw 文件末尾,我们创建 QApplication 对象,实例化表单,安排其绘制,并启动事件循环。
对于程序的终止,由于表单继承自 QDialog ,用户点击关闭按钮“X”或按下“Esc”键,表单将关闭。表单关闭后会被隐藏,PyQt检测到应用程序没有可见窗口且无法进一步交互时,会删除表单并干净地终止应用程序。
在某些情况下,如服务器应用,我们希望应用程序即使不可见也能继续运行,这时可以调用 QApplication.setQuitOnLastWindowClosed(False) 。在Mac OS X和一些X Windows窗口管理器(如twm)中,应用程序可能没有关闭按钮,在Mac上选择菜单栏的“Quit”也可能无效,此时按下“Esc”键可终止应用程序,在Mac上“Command + .”也有效,因此对于可能在Mac或twm等环境中使用的应用程序,最好提供一个“Quit”按钮。
超级会员免费看
订阅专栏 解锁全文
17

被折叠的 条评论
为什么被折叠?



