我注意到,在PyQt5中,初始化QObject
时,可以根据对象传递关键字来建立某些连接。我认为这是非常有用的,因为它不仅为您节省了第二条语句,因此如果不需要,您也不需要显式引用对象,但更重要的是,在某些情况下,这样做可能会非常麻烦。例如,如果你想创建一个对象列表,它可以为你保存一个循环等等
例如,在QActions
的情况下,您可以这样做:
from PyQt5.QtWidgets import QAction
from PyQt5.QtCore import pyqtSlot
@pyqtSlot()
def do_something():
pass
@pyqtSlot()
def do_something_else():
pass
actions = [QAction(triggered=do_something), QAction(triggered=do_something_else)]
但我只是偶然发现了这种行为。我在任何地方都找不到记录。例如,在正式的Qt文档中,没有提到任何关键字(QObject,QAction)。在初始化期间,您是否可以使用QObjects
执行更多类似的操作
我不明白为什么没有记录下来。不推荐吗?我使用PyCharm作为编辑器,尽管我知道它在语法检查方面存在问题,especially with regards to PyQt,但它也将这些关键字作为“意外参数”突出显示
在PyQt5 docs的Support for Qt Properties节中,指出哪种类型的数据支持关键字参数:
(强调矿山)
总之,您可以设置kwargs:
相关问题 更多 >
编程相关推荐