Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-10-2006, 09:29   #1
-Slash
Senior Member
 
L'Avatar di -Slash
 
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 09:32.
-Slash è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 12:25   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Quote:
Originariamente inviato da -Slash
avrei optato per python per via della sua semplicità e della sua potenza su sistemi operativi unix based.
Ottima scelta.
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:
volevo un po' di chiarimenti sulla crezione delle interfacce grafiche in python.
Purtroppo di grafica non so molto.
Avevo copiato e fatto girare un paio di esempi in Tkinter; poi ho fatto la doccia e ho dimenticato tutto
Quote:
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
Dovrebbe essere un insieme di istruzioni Python, che fanno da interfaccia per GTK (che è in un linguaggio diverso, non ricordo se C o Objective-C), ossia ti permettono di scrivere codice Python che adopera le componenti di GTK.
Quote:
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?
Allora, oltre al plugin, ti serve un ambiente di sviluppo integrato avanzato.
Purtropppo non ne conosco; giro la domanda ai più esperti.
Quote:
ho letto anche di glade ma anche qui non ho capito precisamente cosa sia, quindi mi serverebbero dei chiarimenti
Come sopra, giro ai più esperti.
Quote:
vorrei anche dei chiarimenti se possibile sugli ide per python... ho letto di eclipse con relativo plugin e di altri. qual è il piu completo?
Giro anche questa.
Quote:
secondo voi è una buona scelta python come linguaggio di programmazione per iniziare?
Per iniziare, e anche per continuare, Python è sicuramente un'ottima scelta.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 14:43   #3
Everyman
Bannato
 
L'Avatar di Everyman
 
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 Tale C++ sara' potente finche' vuoi, ma ragazzi, e' davvero un casino di linguaggio di programmazione, congratulazioni verso chi lo padroneggia, dico davvero.

Python semplifica molte cose, invece. Soprattutto se hai Idle come GUI.

Ciauz!
Everyman è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 15:16   #4
-Slash
Senior Member
 
L'Avatar di -Slash
 
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 creato
Codice:
#!/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)
ora devo solo capire come integrare nel testo dello script dell'interfaccia le istruzioni del programma. per esempio come dire a python cosa fare quando si clicca il pulsante ecc. e per questo mi sa che ci vorra un po' di tempo

se avete suggerimenti sono ben accetti
-Slash è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 15:30   #5
Everyman
Bannato
 
L'Avatar di Everyman
 
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
Everyman è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 17:24   #6
spv42
Member
 
Iscritto dal: Sep 2005
Messaggi: 274
Scusate la mia ignoranza!

Ma cosa sono i bot???
spv42 è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 18:24   #7
Everyman
Bannato
 
L'Avatar di Everyman
 
Iscritto dal: Mar 2004
Città: Edimburgo (UK)
Messaggi: 6640
Quote:
Originariamente inviato da spv42
Scusate la mia ignoranza!

Ma cosa sono i bot???
Lascia perdere, ti risparmi un bel po' di stress

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

Everyman è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 18:57   #8
-Slash
Senior Member
 
L'Avatar di -Slash
 
Iscritto dal: Mar 2006
Messaggi: 2516
Quote:
Originariamente inviato da Everyman
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
grazie per il consiglio ora mi documento e provo anche idle che mi avevi consigliato

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
-Slash è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 20:11   #9
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
se vuoi letteralmente disegnare la gui con le gtk puoi usare glade http://glade.gnome.org/
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 23:23   #10
-Slash
Senior Member
 
L'Avatar di -Slash
 
Iscritto dal: Mar 2006
Messaggi: 2516
Quote:
Originariamente inviato da wisher
se vuoi letteralmente disegnare la gui con le gtk puoi usare glade http://glade.gnome.org/
sto usando proprio quello!

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 ) il mio semplice script per calcolare i logaritmi che è questo
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
non riesco a capire come dire a python che deve prendere la base e l'argomento dai rispettivi entry nell'interfaccia e alla pressione del pulsante scrivere sul terzo entry il risultato

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?
-Slash è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2006, 23:57   #11
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da -Slash
non riesco a capire come dire a python che deve prendere la base e l'argomento dai rispettivi entry nell'interfaccia e alla pressione del pulsante scrivere sul terzo entry il risultato
Devi 'collegare' gli eventi (il pulsante premuto) alle azioni.
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()
Osserva la riga in grasseto: sta ad indicare che quando avviene l'evento 'clicked' sull'oggetto go, viene chiamato il metodo specificato. Questo non fa altro che prendere il valore dai due campi, effettuare il calcolo e poi aggiornare l'etichetta in fondo.
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:
non c'è modo di generare in modo piu pulito codice python vero e proprio per l'interfaccia di glade?
si': o ti scrivi il codice a mano, o usi glade senza generare codice python, e in ogni caso sono secondo me soluzioni migliori: se mescoli il codice dell'interfaccia con altro codice, farai fatica a rigenerarlo ; se non lo fai, tanto vale caricarsi il file xml e morta li'.
__________________
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
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2006, 15:13   #12
-Slash
Senior Member
 
L'Avatar di -Slash
 
Iscritto dal: Mar 2006
Messaggi: 2516
Quote:
Originariamente inviato da marco.r
Devi 'collegare' gli eventi (il pulsante premuto) alle azioni.
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()
Osserva la riga in grasseto: sta ad indicare che quando avviene l'evento 'clicked' sull'oggetto go, viene chiamato il metodo specificato. Questo non fa altro che prendere il valore dai due campi, effettuare il calcolo e poi aggiornare l'etichetta in fondo.
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


si': o ti scrivi il codice a mano, o usi glade senza generare codice python, e in ogni caso sono secondo me soluzioni migliori: se mescoli il codice dell'interfaccia con altro codice, farai fatica a rigenerarlo ; se non lo fai, tanto vale caricarsi il file xml e morta li'.
grazie 1000, gentilissimo. piu o meno ho capito come fare anche se ovviamente il codice gtk non lo so scrivere e dovrei imparare

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'
mi sa che mi dovro rassegnare ed imparare anche come maneggiare le gtk

invece come farei ad utilizzare glade senza generare codice python?
-Slash è offline   Rispondi citando il messaggio o parte di esso
Old 14-10-2006, 17:42   #13
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da -Slash
invece come farei ad utilizzare glade senza generare codice python?
Qualcosa come il seguente:

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()
come vedi si deve caricare il file glade e poi chiedere alla libreria di fornirti i widget di cui hai bisogno.
__________________
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
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 15-10-2006, 10:18   #14
-Slash
Senior Member
 
L'Avatar di -Slash
 
Iscritto dal: Mar 2006
Messaggi: 2516
grazie, mi sa che mi conviene imparare direttamente a scriverla con python
-Slash è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Niente iPhone 18 base nel 2026? Ecco la ...
Tinder introduce la scansione dell'iride...
Google sta per aggiungere luci colorate ...
PS6 potrebbe offrire prestazioni tre vol...
SK hynix ha avviato la produzione di mod...
Microsoft non ha pace sul Menu Start di ...
Cinque robot aspirapolvere e lavapavimen...
De'Longhi Tasciugo AriaDry: il deumidifi...
Robot più veloci dell'uomo: la me...
Palantir-manifesto, tra tecnologia e ide...
Classifica Amazon top 10 sconvolta: nuov...
DRAM, domanda fuori controllo: produzion...
HUDIMM e HSODIMM: la risposta dell'indus...
Il riconoscimento facciale è un'a...
Un affare pazzesco, finché dura o...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:56.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v