Python 从GUI的mainloop()调用另一个模块
我正在尝试创建一个聊天服务器,多个客户端可以连接到一个服务器。我想在一个模块(比如Python 从GUI的mainloop()调用另一个模块,python,user-interface,Python,User Interface,我正在尝试创建一个聊天服务器,多个客户端可以连接到一个服务器。我想在一个模块(比如clientgui.py)中创建一个GUI,它调用另一个模块(比如client.py)来连接到服务器 问题是我必须在单击某个按钮时调用client.py。但是这样做时,主循环永远不会执行。比如说, app = Tk() ... sendbutton = Button(text,height...., command = Client().senddata()) #This will call function
clientgui.py
)中创建一个GUI,它调用另一个模块(比如client.py
)来连接到服务器
问题是我必须在单击某个按钮时调用client.py
。但是这样做时,主循环永远不会执行。比如说,
app = Tk()
...
sendbutton = Button(text,height...., command = Client().senddata())
#This will call function of a different module.
....
app.mainloop()
是否可以调用“GUI循环”中的另一个模块?您没有将函数分配给
命令
,而是分配给发送数据
的结果。请尝试以下方法:
sendbutton = Button(text, height, ..., command = Client().senddata)
那应该能解决你的问题。注意senddata
方法上没有括号?那是因为你不想在那里打电话,你想谈论它。由于函数和方法是对象,因此可以将其指定给参数(例如,命令
)
代码所做的是将调用
Client().senddata()
的结果分配给buttons命令。我假设这不会返回函数/方法/可调用对象(但它可以),相反,您可以指定None
,实际上使按钮在单击时完全不起任何作用。@rocklearnpython,不客气。很高兴能帮上忙。