首页 > 软件操作教程 > 编程开发 > Python
题目内容

对讲机在Python中怎么实现?

题目答案

图形界面: 用 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条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端