簡體   English   中英

制作看起來像蘋果的基於 tkinter 的聊天的困難 window

[英]Difficulties making a tkinter-based chat that looks like a apple window

我在制作圓形按鈕並使其看起來不錯時遇到了麻煩。

我需要幫助嘗試進行 tkinter 聊天,該聊天看起來盡可能接近蘋果 window (mac os)。 我已經在另一個文件上完成了所有 sockets 我只需要讓它看起來更好。 到目前為止,這是我的代碼:

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

如果您想要 sockets 代碼:

服務器:

import socket
from tkinter import *
root=Tk()
root.title('Chat server')
root.geometry("600x600")
frame=Frame(root, width=600, 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 代碼時,它將看起來更接近 MacOs,IOs。 但是,您可以將自定義圖形放在按鈕等上並“偽造”MacOS 外觀。 看看這個 Stackoverflow 答案:

Tkinter 自定義創建按鈕

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM