位置:首页 > 软件操作教程 > 编程开发 > Python > 问题详情

对讲机在Python中怎么实现?

提问人:杨紫红发布时间:2020-11-17

图形界面: 用 Tkinter 来写一个界面了。

首先把窗体画出来。

  from Tkinter import *

  wnd = Tk()

  wnd.lab = Label(wnd, text="---")

  wnd.ent = Entry(wnd)

  wnd.btn = Button(wnd, text="send")

  wnd.lab.pack()

  wnd.ent.pack(side=LEFT)

  wnd.btn.pack(side=LEFT)

  然后把刚才的网络部分加上去。

  import thread

  from SimpleXMLRPCServer import SimpleXMLRPCServer

  from xmlrpclib import ServerProxy


  # 第一个对讲机

  my_server   = SimpleXMLRPCServer( ("localhost", 8002) )

  your_server = ServerProxy("http://localhost:8001")

  # 第二个对讲机 (需要交换一下地址)

  # my_server   = SimpleXMLRPCServer( ("localhost", 8001) )

  # your_server = ServerProxy("http://localhost:8002")


  def msg(s):

    wnd.lab.config(text=s)

    return True


  def run_server():

    my_server.register_function(msg)

    my_server.serve_forever()


  def send():

    msg = wnd.ent.get()

    wnd.ent.select_range(0, len(msg))

    your_server.msg(msg)  


  wnd.btn.config(command=send)

  thread.start_new_thread( run_server, () )

  wnd.mainloop()

程序比较长, 所以另外一个终端就不写了

注意, 这里两台终端的地址是在程序中写死的。而且现在的程序只能显示最近收到的一条消息。

使用 Tkinter 中的输入框来叫用户自己输入目标机器的地址和端口。

 使用 Tkinter 中的编辑框组件来显示多行消息。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部