首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python 3 --使用仅带args模块的kwargs

Python 3 --使用仅带args模块的kwargs
EN

Stack Overflow用户
提问于 2016-08-02 10:15:38
回答 1查看 195关注 0票数 1

我正在用tkinter编写一个gui,并使用一个发布/订阅模块(pyPubSub)来通知程序的不同部分,如果它们被订阅了,会发生什么。所以,我有两个需要协同工作的函数。在tkinter中,我使用:

代码语言:javascript
复制
after_idle(callback, *args)

调用call循环内的消息发送。如您所见,它只接受*args作为参数发送到回调。我发送的回调来自pyPubSub:

代码语言:javascript
复制
sendMessage(topic, **kwargs)

所以,我的结论是:

代码语言:javascript
复制
root.after_idle(pub.sendMessage, ?)

我的问题是,如何让args与kwargs协同工作?我必须使用位置参数调用after_idle才能与回调一起发送,但是回调只需要关键字参数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-02 10:33:43

您可以始终使用lambda,这里有一个不做任何事情的简短示例。

代码语言:javascript
复制
import tkinter as tk

def test(arg1, arg2):
    print(arg1, arg2)

root = tk.Tk()
root.after_idle(lambda: test(arg1=1, arg2=2))
root.mainloop()
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38710801

复制
相关文章

相似问题

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