我已經寫了一個基本的基於python套接字的聊天程序(我的第二個),我想添加一些視覺效果使它更友好一些。如何添加視覺效果到蟒蛇聊天程序
我應該層中的視覺效果超過了現有的程序,或者我應該做一個新節目圍繞視覺
我應該使用的視覺效果(我知道pygame的是合適的)
什麼Python模塊
我可以有某種形式如何寫這個總體思路
這裏是我現有的代碼(也許代碼示例):
Client:
import socket, threading
#Setup The Variables
WindowTitle = 'Chat 2.0 - Client'
s = socket.socket()
host = raw_input("Please Enter External IP adress Here: ")
print
host = socket.gethostname()
port = 8008
#Attempted To Connect
print "Conecting..."
print
while True:
try:
s.connect((host, port))
break
except:
pass
print "Connected To " + str(host) + " " + str(port)
print
#Check For Incomming Data
def check_for_data():
while True:
data = s.recv(1024)
if data:
print
print "Other: " + str(data)
print
print "You: "
else:
print "Client closed connection"
s.close()
break
#Send Data
def send_data():
while True:
user_input = raw_input("You: ")
print
s.sendall(user_input)
#Start Threads \ Main Loop
t = threading.Thread(target=send_data)
t.daemon = True
t.start() #1
check_for_data()
s.close
Server:
import socket, threading
#Setup The Variables
WindowTitle = 'Chat 2.0 - Client'
host = socket.gethostname()
port = 8008
s = socket.socket()
s.bind((host, port))
print "Awaiting Connection..."
print
s.listen(5)
c, addr = s.accept()
print "Connection From: " + str(addr)
print
def check_for_data(c):
while True:
data = c.recv(1024)
if data:
print
print "Other: " + str(data)
print
print "You: "
else:
print "Client closed connection"
c.close()
break
def send_data():
while True:
message = raw_input("You: ")
print
c.sendall(message)
#Start Threads \ Main Loop
t = threading.Thread(target=send_data)
t.daemon = True
t.start() #1
check_for_data(c)
c.close()
最好你應該將GUI與程序的內部工作分開。 您可能還想查看['tkinter'](https:// wiki。python.org/moin/TkInter)。我在[GitHub](https://github.com/chuckoy/monopoly-cash-tracker)上製作了一個專賣計算器,但我無法給你任何關於最佳實踐的保證,儘管我在那時做了最好的事情。 –
不得不同意tkinter可能是更好的方式去這裏。對於一個聊天程序,pygame的sprite/rects/surfaces都沒什麼用處。不過,tkinter的按鈕和標籤以及其他類似的東西都可以滿足您的需求。順便說一句,爲了讓你的套接字更輕鬆,請查看makefile方法。 –
@DavidJayBrady你可以請發表你的評論作爲答案,所以我可以結束這個問題:) –