|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2516
|
Qualche chiarimento su Python
ciao a tutti
vorrei avvicinarmi per la prima volta ad un linguaggio di programmazione, anche se ho avuto varie brevi esperienze con il c, html,php quindi non sono proprio a digiuno. avrei optato per python per via della sua semplicità e della sua potenza su sistemi operativi unix based. volevo un po' di chiarimenti sulla crezione delle interfacce grafiche in python. per creare l'interfaccia grafica(quando saro capace di creare un programma )vorrei basarmi sulle librerie gtk. in rete ho letto che esiste un plugin chiamato pygtk che permette la creazione di queste interfacce grafiche, ma non ho capito bene a dir la verità cos'è precisamente io vorrei un tool diciamo che mi permettesse di creare interfacce alla visual basic, cioe disegnando i bottoni, i campi di testo ecc. verso cosa mi devo rivolgere? ho letto anche di glade ma anche qui non ho capito precisamente cosa sia, quindi mi serverebbero dei chiarimenti... vorrei anche dei chiarimenti se possibile sugli ide per python... ho letto di eclipse con relativo plugin e di altri. qual è il piu completo? ps: secondo voi è una buona scelta python come linguaggio di programmazione per iniziare? grazie in anticipo per le risposte Ultima modifica di -Slash : 13-10-2006 alle 10:32. |
|
|
|
|
|
#2 | |||||||
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16213
|
Quote:
Io l'ho scoperto nel 2000, e mi ha cambiato l'esistenza. passi che come primo lavoro faccio il matematico e non il programmatore; ma è stata una vera rivoluzione. Quote:
Avevo copiato e fatto girare un paio di esempi in Tkinter; poi ho fatto la doccia e ho dimenticato tutto Quote:
Quote:
Purtropppo non ne conosco; giro la domanda ai più esperti. Quote:
Quote:
Quote:
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|||||||
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6640
|
uso Python e mi trovo benissimo.
Attualmente ho la versione 2.5 e principalmente uso Python nel campo Speech Recognition per generare bot che fingano di essere operatori nei vari call centres. Il tutto sulla falsa riga del celebre programma Eliza degli anni 60, magari un po' piu' evoluto Per quanto riguarda le interfacce grafiche di Python, purtroppo, non ti posso aiutare perche' la grafica NON e' il mio campo. Ma ti consiglio anch'io di usare Python soprattutto se con C++ sei incavolato a bestia Python semplifica molte cose, invece. Soprattutto se hai Idle come GUI. Ciauz! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2516
|
innanzi tutto grazie per le risposte
mi sto appassionando veramente tanto a questo linguaggio di programmazione fantastico. è veramente molto semplice, almeno all'inizio, ho letto un'oretta l'inizio di una guida e riesco gia a fare con successo i primi programmini matematici. per quanto riguarda la gui ho cercato un po'(anzi parecchio ) stamattina e sono riuscito a trovare un modo semplicissimo per crearla. come programma per farla uso glade e sto prendendo confidenza con le varie widget. poi ho trovato uno script semplicissimo da usare in python che mi permette di trasformare il file xml del progetto di glade in uno script python vero e proprio! si chiama gladegen e quindi ho ottenuto il seguente script della mia semplice interfaccia grafica che avevo creatoCodice:
#!/usr/bin/env python
#----------------------------------------------------------------------
# Test.py
# Dave Reed
# 10/13/2006
#----------------------------------------------------------------------
import sys
from GladeWindow import *
#----------------------------------------------------------------------
class Test(GladeWindow):
#----------------------------------------------------------------------
def __init__(self):
''' '''
self.init()
#----------------------------------------------------------------------
def init(self):
filename = 'test.glade'
widget_list = [
'window1',
'entry3',
'entry2',
'entry1',
'button1',
]
handlers = [
]
top_window = 'window1'
GladeWindow.__init__(self, filename, top_window, widget_list, handlers)
#----------------------------------------------------------------------
def main(argv):
w = Test()
w.show()
gtk.main()
#----------------------------------------------------------------------
if __name__ == '__main__':
main(sys.argv)
se avete suggerimenti sono ben accetti |
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6640
|
Se vuoi avere gli incubi la notte ANCHE con python, mettici NLTK (natural language tool kit)
![]() Anzi no, progegui con le tue interfacce grafiche, molto meglio. Senti, volevo chiederti una cosa: conosci JAVA??? Ho dei problemucci a generare certi bot |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 274
|
Scusate la mia ignoranza!
Ma cosa sono i bot??? |
|
|
|
|
|
#7 | |
|
Bannato
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6640
|
Quote:
Scherzi a parte, i bot sono dei programmi che generano risposte che paiono provenienti da un programma AI ma che in realta' non lo sono. Esempio concreto: nel classico call centre, un bot puo' simulare il comportamento di un agente. Esempio ancor piu' concreto: tu contatti IBM via MSN perche' il tuo pc ti da dei problemi. Tu dice che non ti va questo, che non ti va quello e ricevi delle risposte e suggerimenti utili. Ecco, dall'altra parte non c'e' una persona reale, ma un bot, un programmino che genera rispste a seconda delle tue domande specifiche. Ecco, io sono quello che svilupperebbe questi bot (del cazzo) Un conto e' farli in Python (con NLTK tool e' tutto piu' facile), un altro paio di maniche e' farlo in JAVA, dove ultimamente ho dei problemi. Ho infatto aperto un topic a riguardo, ma nessuno mi ha ancora risposto |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2516
|
Quote:
![]() java fa parte di quei linguaggi che ho provato ed ho abbandonato dopo mezza giornata perchè non avevo voglia di impararmi tutte quelle sintassi astruse
|
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 2755
|
se vuoi letteralmente disegnare la gui con le gtk puoi usare glade http://glade.gnome.org/
__________________
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2516
|
Quote:
vorrei creare una piccola applicazione grafica che calcoli il logaritmo di un numero data la base e l'argomento. in modalità testuale l'ho gia creato e funziona perfettamente nella shell di linux. ho creato poi a parte la gui con glade e ho generato il codice python con gladegen. questi sono il progetto di glade e la libreria per far funzionare lo script e lo script stesso dell'interfaccia http://www.uploadtemple.com/view.php/1160777601.zip se eseguite lo script log.py vedrete comparire l'interfaccia grafica. ora io volevo solo sapere come integrare in quella interfaccia(che non fa niente Codice:
#/usr/bin/env python import math print "Inserisci la base del logaritmo" a = float(raw_input()) print "Inserisci l'argomento" x = float(raw_input()) log = math.log(x)/math.log(a) print "Il risultato del logaritmo e'" print log inoltre ho notato che questo script gladegen non crea codice pulito in python, ma in pratica l'esecuzione dell'interfaccia dipende sempre dalla presenza del file .glade nella cartella dell'eseguibile. non c'è modo di generare in modo piu pulito codice python vero e proprio per l'interfaccia di glade? |
|
|
|
|
|
|
#11 | ||
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Quella che segue e' una versione 'spartana' del calcolo del log. Codice:
import gtk
from math import log
class Window(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
box = gtk.VBox()
self.valueEntry = gtk.Entry()
self.baseEntry = gtk.Entry()
self.go = gtk.Button("Calcola")
self.result = gtk.Label()
box.pack_start(self.valueEntry)
box.pack_start(self.baseEntry)
box.pack_start(self.go)
box.pack_start(self.result)
self.add(box)
self.go.connect('clicked', self._updateResult )
self.show_all()
def _updateResult(self,button):
try:
value = float( self.valueEntry.get_text() )
base = float( self.baseEntry.get_text() )
result = log(value)/log(base)
self.result.set_text( str( result ) )
except Exception, e:
self.result.set_text( "Errore: %s" % str(e) )
w = Window()
gtk.main()
Ti consiglio di dare una occhiata al tutorial http://www.pygtk.org/pygtk2tutorial/index.html in particolare la sezione sui segnali e le callback: http://www.pygtk.org/pygtk2tutorial/...Callbacks.html Quote:
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
||
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2516
|
Quote:
io vorrei usare glade perchè ovviamente perderei meno tempo che a scriverle a mano, ma poi vorrei ottenere uno script python, perchè vorrei che il programma finale fosse formato solo da un file come il tuo... in rete ho trovato un altro script che dice di permettere questo http://glc.sourceforge.net/ ma mi da questo errore su ubuntu edgy Codice:
/usr/lib/python2.4/xmllib.py:9: DeprecationWarning: The xmllib module is obsolete. Use xml.sax instead.
warnings.warn("The xmllib module is obsolete. Use xml.sax instead.", DeprecationWarning)
# xml: encoding = UTF-8 standalone = no
DOCTYPE: glade-interface None
comment: 'Generated with glade3 3.0.2 on ...50:52 2006 by slash@localhost'
Traceback (most recent call last):
File "glc.py", line 911, in ?
test()
File "glc.py", line 908, in test
x.generate()
File "glc.py", line 764, in generate
self.top.generate()
File "glc.py", line 748, in generate
gObject.generate(self)
File "glc.py", line 258, in generate
child.generate()
File "glc.py", line 369, in generate
klass = self.attribs["class"]
KeyError: 'class'
invece come farei ad utilizzare glade senza generare codice python? |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Codice:
import gtk
import gtk.glade
from math import log
class Window:
def __init__(self):
glade = gtk.glade.XML( 'log.glade' )
self.valueEntry = glade.get_widget('valueEntry')
self.baseEntry = glade.get_widget('baseEntry')
self.result = glade.get_widget('result')
glade.get_widget('go').connect('clicked',self._updateResult )
glade.get_widget('mainWindow').show_all()
def _updateResult(self,button):
try:
value = float( self.valueEntry.get_text() )
base = float( self.baseEntry.get_text() )
result = log(value)/log(base)
self.result.set_text( str( result ) )
except Exception, e:
self.result.set_text( "Errore: %s" % str(e) )
w = Window()
gtk.main()
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Mar 2006
Messaggi: 2516
|
grazie, mi sa che mi conviene imparare direttamente a scriverla con python
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:13.










)vorrei basarmi sulle librerie gtk. in rete ho letto che esiste un plugin chiamato pygtk che permette la creazione di queste interfacce grafiche, ma non ho capito bene a dir la verità cos'è precisamente 
) stamattina e sono riuscito a trovare un modo semplicissimo per crearla. come programma per farla uso glade e sto prendendo confidenza con le varie widget. poi ho trovato uno script semplicissimo da usare in python che mi permette di trasformare il file xml del progetto di glade in uno script python vero e proprio! si chiama gladegen e quindi ho ottenuto il seguente script della mia semplice interfaccia grafica che avevo creato









