概述
import tkinter as tt #程序前端数据包
import socket as sk #数据传输数据包
import tkinter.messagebox as tm #程序信息提示链数据包
import threading as th #多线程数据包
网络传输=sk.socket(sk.AF_INET,sk.SOCK_DGRAM) # “网络传输”采用ipv4 + udp传输
s_ip_port=("127.0.0.1",7771) # 自己的ip地址
c_ip_port=("127.0.0.1",7772) # 对方的ip地址
win=tt.Tk()
win.title("QQ聊天窗口")
win.geometry("500x500")
聊天记录文字=tt.Label(win,text="聊天记录") # 文字标签
聊天记录文字.place(x=0,y=0,width=100,height=30)
文本框=tt.Text(win) # 多行记录
文本框.place(x=100,y=0,width=370,height=100)
发送信息=tt.Label(win,text="发送信息") # 文字标签
发送信息.place(x=0,y=100,width=100,height=30)
单行框=tt.Entry(win) # 单行记录
单行框.place(x=100,y=100,width=300,height=30)
def 信息发送(): # 提取“单行框”内容至“文本框”函数
data="我曰:"+单行框.get()+"n"
文本框.insert(tt.END,data)
网络传输.sendto(bytes(单行框.get(),"utf-8"),c_ip_port)
发送按钮=tt.Button(win,text="发送",command=信息发送) # 发送按钮 命令链接至“信息发送”函数
发送按钮.place(x=400,y=100,width=50,height=30)
def 关闭(): #关闭函数
a=tm.askokcancel("你确定关闭吗")
if a==True:
网络传输.sendto(bytes("退出","utf-8"),s_ip_port)
win.destroy()
win.protocol("WM_DELETE_WINDOW",关闭)
网络传输.bind(s_ip_port) # 监视(s_ip_port)刷新
def 接收(): # 接受好友的消息
while True:
data,address=网络传输.recvfrom(1024)
if data.decode("utf-8")=="退出":
break
else:文本框.insert(tt.END,data.decode("utf-8"))+"n"
def main():
win.mainloop() # 死循环执行
t2=th.Thread(target=接收)
t2.start()
t1=th.Thread(target=main())
t1.start()
最后
以上就是炙热短靴为你收集整理的Python 窗口化操作的全部内容,希望文章能够帮你解决Python 窗口化操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复