首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >学习GUI python (PyQt4)

学习GUI python (PyQt4)
EN

Stack Overflow用户
提问于 2015-02-10 21:18:05
回答 3查看 192关注 0票数 0

我在学蟒蛇,我对它很陌生。

http://zetcode.com/gui/pyqt4/firstprograms/

从这个网站,我需要帮助理解代码。

代码语言:javascript
复制
import sys
from PyQt4 import QtGui


def main():

    app = QtGui.QApplication(sys.argv)

    w = QtGui.QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()

    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

我的问题如下

代码语言:javascript
复制
app = QtGui.QApplication(sys.argv)

在代码中,app变量似乎被实际使用了。那么为什么要分配呢?它的目的是什么?对我来说,我们就像窗户一样.我很困惑..。

代码语言:javascript
复制
if __name__ == '__main__':
    main()

__name____main__从何而来?这个if语句的功能是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-10 21:22:25

从您引用的页面本身:

每个PyQt4应用程序都必须创建一个应用程序对象。应用程序对象位于QtGui模块中。sys.argv参数是命令行中的参数列表。Python脚本可以从shell中运行。这是一种控制脚本启动的方法。

您需要初始化一个QApplication对象,因为这是Qt处理所有环境的中心。如果您想了解更多这方面的知识,请查看Qt的介绍性文档(如整个项目,而不仅仅是PyQT)。

关于__name__:这是一个基本的python问题;它是加载模块(在本例中,模块是python文件)的名称;__main__是变量在直接运行python文件时获得的神奇值(通过使其可执行并运行它或运行它python pythonfile.py)。

票数 1
EN

Stack Overflow用户

发布于 2015-02-10 21:22:53

如果您尝试在没有这一行的情况下运行,您会找到答案:如果没有首先存在应用程序对象,就不能创建GUI组件(在本例中是窗口)。

简而言之,它是所有其他Qt对象所在的主对象,它控制事件循环。您可以使用exec_()调用启动事件循环,它告诉app对象使用迄今为止为其定义的所有内容运行。

票数 0
EN

Stack Overflow用户

发布于 2015-02-10 21:23:20

代码语言:javascript
复制
if __name__ == "__main__": 
    # do something 

是一个通用代码块,用于测试脚本是以“main”形式运行还是作为模块导入。如果此代码是由另一个脚本导入的,则该块将不会运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28441965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档