位置:首頁 > 軟件操作教程 > 編程開發(fā) > Python > 問題詳情

對(duì)講機(jī)在Python中怎么實(shí)現(xiàn)?

提問人:楊紫紅發(fā)布時(shí)間:2020-11-17

圖形界面: 用 Tkinter 來寫一個(gè)界面了。

首先把窗體畫出來。

  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)

  然后把剛才的網(wǎng)絡(luò)部分加上去。

  import thread

  from SimpleXMLRPCServer import SimpleXMLRPCServer

  from xmlrpclib import ServerProxy


  # 第一個(gè)對(duì)講機(jī)

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

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

  # 第二個(gè)對(duì)講機(jī) (需要交換一下地址)

  # 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()

程序比較長(zhǎng), 所以另外一個(gè)終端就不寫了

注意, 這里兩臺(tái)終端的地址是在程序中寫死的。而且現(xiàn)在的程序只能顯示最近收到的一條消息。

使用 Tkinter 中的輸入框來叫用戶自己輸入目標(biāo)機(jī)器的地址和端口。

 使用 Tkinter 中的編輯框組件來顯示多行消息。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部