analitics

Pages

Thursday, February 23, 2012

The wx module - tutorial 01

Install wx python module using root account.

# yum install wxPython.i686 

The most simple example is show bellow.


$python 
Python 2.7.2 (default, Oct 27 2011, 01:36:46) 
[GCC 4.6.1 20111003 (Red Hat 4.6.1-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> app1=wx.App()
>>> frame=wx.Frame(None,-1,'Example windows wx with Python')
>>> frame.Show()
True
>>> app1.MainLoop()
>>> 

Let's see the result of this python script:

Let's take a look at the source code.

import wx

This line of code allows us to use wx python module.

app1=wx.App()

This line defines our application named app1.

A frame is a window whose size and position can be changed by the user.

Let's see:

frame=wx.Frame(None,-1,'Example windows wx with Python')
frame.Show()

Finally, processing and display function in main function.

app1.MainLoop()

Bellow, we can see a more complex example, where we find : labels , two editbox and one button.

The event-processing function button has not been implemented.

import wx
app1=wx.App()
frame=wx.Frame(None,-1,'Example windows wx with Python',size=(300,150))
wx.StaticText(frame, -1, 'User', (10, 20))
user = wx.TextCtrl(frame, -1, '',  (110, 20), (160, -1))
wx.StaticText(frame, -1, 'Password', (10, 50))
passwd = wx.TextCtrl(frame, -1, "", (110,50),(160, -1), style=wx.TE_PASSWORD)
conn = wx.Button(frame, -1,'Connect',(10,80),(260, -1))
frame.Show()
app1.MainLoop()

Let's see the result of this python script:

I will illustrate how this working in a future tutorial.

Saturday, November 26, 2011

Simple socket client with python

I made version of client server socket program.
This example was presented in a previous post named Simple socket server with python.
The program is simple, the algorithm uses connection and some data processing input from the console.
I used the same test method as for the program created in C + +.
The program breaks the connection when the client enter: end connection
Here's the source code:
import socket
import sys

HOST = 'your-IP'
PORT = 5001             
s = None
for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM):
    af, socktype, proto, canonname, sa = res
    try:
 s = socket.socket(af, socktype, proto)
    except socket.error, msg:
 s = None
 continue
    try:
 s.connect(sa)
    except socket.error, msg:
 s.close()
 s = None
 continue
    break
if s is None:
    print 'could not open socket'
    sys.exit(1)
data=''
while data<>'end connection':
 data=raw_input()
 s.send(data)
 data = s.recv(1024)

s.close()
print 'Received', repr(data)