Advertisement
JachyHm

IM (chat)

Oct 2nd, 2015
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.99 KB | None | 0 0
  1. from gi.repository import Gtk, GObject
  2. #Připojí knihovnu grafického prostředí
  3. import socket
  4. #Připojí knihovnu pro síťovou komunikaci
  5. class OknoPripojeni(Gtk.Window):
  6. #Vytvoří třídu "OknoPripojeni"
  7.     def __start__(self):
  8.         #Definuje funkci __start__
  9.         Gtk.Window.__start__(self, title="Ahoj světe po síti")
  10.         #Vytvoří okno "Ahoj světe po síti"
  11.         self.set_size_request(300, 100)
  12.         #Definuje velikost 300 na 100 px
  13.  
  14.         vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
  15.         self.add(vbox)
  16.         #Vytvoří TextBox
  17.  
  18.         self.ip_vstup = Gtk.Entry()
  19.         self.ip_vstup.set_text("Sem zadejte IP adresu partnera")
  20.         vbox.pack_start(self.ip_vstup, True, True, 0)
  21.         #Definuje TextBox jako "ip_vstup"
  22.         #Nastaví text "Sem zadejte IP adresu partnera"
  23.         #Definuje TextBox viditelnost: true, editovatelnost: true a ta nula nevím co dělá :D
  24.  
  25.        
  26.         pripoj_cudlo = Gtk.Button.new_with_label("Připoj")
  27.         pripoj_cudlo.connect("clicked", self.odesli_zmack)
  28.         vbox.pack_start(pripoj_cudlo, True, True, 0)
  29.         #Definuje tlačítko "pripoj_cudlo" s textem "přpoj"
  30.         #Při zmáčknutí spustí funkci (self = vlastní, tzn. je definováno v té samé třídě) "odesli_zmack"
  31.         #Definuje čudlo "pripoj_cudlo" s viditelností "true" a zmáčknutelností "true", nula nevím co dělá
  32.        
  33.  
  34.         self.ip=""
  35.         #Definuje proměnou ip s hodnotou:
  36.  
  37.     def odesli_zmack(self, pripoj_cudlo):
  38.         self.ip=self.ip_vstup.get_text()
  39.         #Definuje funkcii "odesli_zmack" navázanou na "pripoj_cudlo"
  40.         #Zapíše do promměnné "ip" hodnotu z pole "ip_vstup"
  41.    
  42.  
  43. p = OknoPripojeni()
  44. p.connect("delete-event", Gtk.main_quit)
  45. p.show_all()
  46. Gtk.main()
  47.  
  48.  
  49. HOST = p.ip   # The remote host
  50. PORT = 50007              # The same port as used by the server
  51. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  52. s.connect((HOST, PORT))
  53. print("Připojeno")
  54. s.sendall (b'Ahoj svete')
  55. data = s.recv(1024)
  56. s.close()
  57. print ('Received', repr(data))
  58.  
  59.  
  60. #Tohodle si zatím nevšímej, není to dodělaný
  61. class Chat(Gtk.Window):
  62.  
  63.     def chat (self):
  64.         Gtk.Window.chat(self, title="Chat 0.1a")
  65.         self.set_size_request(300, 100)
  66.  
  67.         vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6)
  68.         self.add(vbox)
  69.  
  70.         self.entry = Gtk.Entry()
  71.         self.entry.set_text("Napište zprávu a stiskněte odeslat")
  72.         vbox.pack_start(self.entry, True, True, 0)
  73.  
  74.         button = Gtk.Button.new_with_label("Odešli zprávu")
  75.         button.connect("clicked", self.odesli)
  76.         vbox.pack_start(button, True, True, 0)
  77.  
  78.         button = Gtk.Button.new_with_label("Ukonči!")
  79.         button.connect("clicked", self.konec)
  80.         vbox.pack_start(button, True, True, 0)
  81.  
  82.     def konec (self, button):
  83.         print("Zavírám")
  84.         Gtk.main_quit()
  85.  
  86. c = Chat()
  87. c.connect("delete-event", Gtk.main_quit)
  88. c.show_all()
  89. Gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement