Python 窗口化操作

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()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值