如何解决进行基于tkinter的聊天看起来像苹果窗口的困难
我在制作圆形按钮并使它看起来不错时遇到麻烦。
我需要帮助来尝试与苹果窗口(mac os)尽可能近地进行tkinter聊天。我已经在另一个文件上完成了所有套接字,我只需要使其看起来更好即可。 到目前为止,这是我的代码:
from tkinter import *
import tkinter as tk
root=Tk()
root.title('Chat server')
root.geometry("600x600")
#####
####
person = input('Who are you chatting with: ')
label = Label (root,text='Chat with ' + person )
label.grid(row=2,column=1)
frame=Frame(root,width=600,height=600,bg='blue')
frame.grid(row=3,column=1)
root.mainloop()
如果要使用套接字代码:
服务器:
import socket
from tkinter import *
root=Tk()
root.title('Chat server')
root.geometry("600x600")
frame=Frame(root,height=200,bg='blue')
s=socket.socket()
print('Socket created')
port=12345
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind(('',port))
print("socket bound to %s" %(port))
history=[]
while True:
s.listen(5)
print("socket is listening")
while True:
g,addr = s.accept()
print('Got connection from',addr)
print('Connected')
break
while True:
x = input('Friend: ')
g.send(x.encode())
data = g.recv(1024)
history.append[data]
print("Friend: ",repr(data))
root.mainloop()
这里的客户:
# client.py
import socket
host='192.168.1.17' # server side ip address
port=12345
print('Finding...')
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
while 1:
message=input("Say something to Friend: : ")
s.send(message.encode())
data = s.recv(1024)
print('Friend: ',repr(data))
s.close()
解决方法
据我所知,Tkinter使用可用操作系统的默认外观。因此,当您在Mac上运行python代码时,它看起来更接近MacO,IO。但是,您可以在按钮等上放置自定义图形,并“伪造” MacOS外观。看看这个Stackoverflow答案:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。