PyQt4:QtCore.QCoreApplication.instance()。quit和self.close之间的区别?

我一直在做大量研究,但未能提出任何描述PyQt4中特定代码行的内容。像许多其他学习PyQt的人一样,我一直在关注zetcode的PyQt4教程我仍然是Python的初学者,但是我在努力阅读本文的每一行代码时都感到很困惑:

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()

        self.initUI()

    def initUI(self):               

        qbtn = QtGui.QPushButton('Quit', self)
        qbtn.clicked.connect(QtCore.QCoreApplication.instance().quit)
        qbtn.resize(qbtn.sizeHint())
        qbtn.move(50, 50)       

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Quit button')    
        self.show()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

我了解这条线以外的所有内容:

qbtn.clicked.connect(QtCore.QCoreApplication.instance().quit)

有人可以解释这里到底发生了instance().quit什么吗?我知道很明显它退出了程序,我只是不了解代码实际上在做什么以及为什么。我唯一能够了解到的信息是instance()“返回了指向应用程序的QCoreApplication(或QApplication)实例的指针”,但这并不能真正帮助我理解(也许我只是没有经验足够,我不知道)。

此外,上述代码行与以下代码行之间存在功能差异:

qbtn.clicked.connect(self.close)

我发现此线程与整个主题有关,但是唯一提及self.close作为可能的替代方法的响应被否决了,没有任何解释。任何帮助或指导将不胜感激,谢谢!

休·费舍尔

qbtn.clicked是按钮发出的信号。QCoreApplication.instance()是主要的应用对象。因此,它将按钮信号连接到应用程序的退出插槽。

在第二个示例中,按钮将仅关闭拥有该按钮的窗口。如果应用程序有多个窗口,或者在上一个窗口关闭时没有自动退出,则该应用程序仍将运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

QtGui.QApplication和QtCore.QCoreApplication之间的区别

来自分类Dev

close()和disconnect()之间的区别?

来自分类Dev

.dialog(“ close”)和.dialog(“ destroy”)之间的区别

来自分类Dev

.dialog(“ close”)和.dialog(“ destroy”)之间的区别

来自分类Dev

Socket :: close()和StreamSocket :: shutdown()之间的区别

来自分类Dev

无法从PyQt4导入QtCore或QtGui

来自分类Dev

somefile.close和somefile.close()之间的区别

来自分类Dev

为什么 PyQt4 在 Jupyter 和 IPython notebook 之间表现不同?

来自分类Dev

PyQt4信号和插槽-QToolButton

来自分类Dev

如何整合Pygame和PyQt4?

来自分类Dev

如何整合Pygame和PyQt4?

来自分类Dev

在QThread内的QCoreApplication上调用quit()时出错

来自分类Dev

在QThread内的QCoreApplication上调用quit()时出错

来自分类Dev

QCoreApplication 事件循环和 Windows 服务控制处理函数

来自分类Dev

os.close(0)和sys.stdin.close()之间的区别

来自分类Dev

os.close(0)和sys.stdin.close()之间的区别

来自分类Dev

PyQt4 AttributeError: 'function' 对象没有属性 'self'

来自分类Dev

EA和RUP 4 + 1之间的区别?

来自分类Dev

__str __(self)和show(self)之间的区别

来自分类Dev

__str __(self)和show(self)之间的区别

来自分类Dev

PyQt4和Python 3-从URL显示图像

来自分类Dev

PyQt4和Python 3-从URL显示图像

来自分类Dev

使用Xlsxwriter和PyQt4时出现分段错误

来自分类Dev

PyQt4:图形视图和Pixmap大小

来自分类Dev

PyQt4 QPushButton文本和图标对齐

来自分类Dev

无法同时运行matplotlib和pyqt4

来自分类Dev

PyQt4 QTreeWidget父级和子级索引

来自分类Dev

bind和var self = this之间的区别?

来自分类Dev

编程语言中“ this”和“ self”之间的区别

Related 相关文章

  1. 1

    QtGui.QApplication和QtCore.QCoreApplication之间的区别

  2. 2

    close()和disconnect()之间的区别?

  3. 3

    .dialog(“ close”)和.dialog(“ destroy”)之间的区别

  4. 4

    .dialog(“ close”)和.dialog(“ destroy”)之间的区别

  5. 5

    Socket :: close()和StreamSocket :: shutdown()之间的区别

  6. 6

    无法从PyQt4导入QtCore或QtGui

  7. 7

    somefile.close和somefile.close()之间的区别

  8. 8

    为什么 PyQt4 在 Jupyter 和 IPython notebook 之间表现不同?

  9. 9

    PyQt4信号和插槽-QToolButton

  10. 10

    如何整合Pygame和PyQt4?

  11. 11

    如何整合Pygame和PyQt4?

  12. 12

    在QThread内的QCoreApplication上调用quit()时出错

  13. 13

    在QThread内的QCoreApplication上调用quit()时出错

  14. 14

    QCoreApplication 事件循环和 Windows 服务控制处理函数

  15. 15

    os.close(0)和sys.stdin.close()之间的区别

  16. 16

    os.close(0)和sys.stdin.close()之间的区别

  17. 17

    PyQt4 AttributeError: 'function' 对象没有属性 'self'

  18. 18

    EA和RUP 4 + 1之间的区别?

  19. 19

    __str __(self)和show(self)之间的区别

  20. 20

    __str __(self)和show(self)之间的区别

  21. 21

    PyQt4和Python 3-从URL显示图像

  22. 22

    PyQt4和Python 3-从URL显示图像

  23. 23

    使用Xlsxwriter和PyQt4时出现分段错误

  24. 24

    PyQt4:图形视图和Pixmap大小

  25. 25

    PyQt4 QPushButton文本和图标对齐

  26. 26

    无法同时运行matplotlib和pyqt4

  27. 27

    PyQt4 QTreeWidget父级和子级索引

  28. 28

    bind和var self = this之间的区别?

  29. 29

    编程语言中“ this”和“ self”之间的区别

热门标签

归档