PySimpleGUI创建socket客户端文件接收窗口
时间: 2023-09-16 20:16:24 浏览: 40
在PySimpleGUI中创建一个socket客户端文件接收窗口可以使用以下代码:
```
import socket
import PySimpleGUI as sg
# 客户端IP和端口
CLIENT_IP = '127.0.0.1'
CLIENT_PORT = 8888
# 创建socket客户端
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 创建PySimpleGUI窗口
layout = [
[sg.Text('文件接收器', font=('Arial', 18))],
[sg.Text('文件名:'), sg.Input(key='filename'), sg.FileBrowse()],
[sg.Button('接收文件')]
]
window = sg.Window('文件接收器', layout)
# 连接服务器
client_socket.connect((CLIENT_IP, CLIENT_PORT))
while True:
event, values = window.Read()
# 如果点击了“接收文件”按钮
if event == '接收文件':
filename = values['filename']
# 发送文件名给服务器
client_socket.send(filename.encode())
# 接收文件内容
file_data = client_socket.recv(1024)
# 写入文件
with open(filename, 'wb') as f:
f.write(file_data)
sg.Popup('文件接收成功!')
# 如果点击了窗口关闭按钮
if event == sg.WIN_CLOSED:
break
# 关闭socket客户端和PySimpleGUI窗口
client_socket.close()
window.Close()
```
这个窗口包含一个文件名输入框和一个“接收文件”按钮。当用户点击“接收文件”按钮时,程序会发送文件名给服务器,并接收文件内容,最后将文件内容写入本地文件中。
请注意,此代码仅供参考,实际情况可能需要根据具体需求进行修改。