Forum >> Programmazione Python >> GUI >> Ciao a tutti devo fare un piccolo convertitore di di unità ma sono bloccato

Pagina: 1

Messaggio annotato da Daniele aka Palmux :
Questa discussione è stata spostata dalla categoria Blog.
Praticante devo inserire 3 combobox e fino a qui ci sono. quello che non riesco a fare è far corrispondere le unità con le grandezze. Es:
se nella combobox_1 è selezionato lunghezza nelle combobox_2 e 3 dovranno contenere una lista delle relative unità dela lunghezza ([km, m, cm, mm])
questo è quello che ho scritto per adesso:

from PySide.QtGui import *
from PySide.QtCore import *
from testapp import startapp, runapp    # NON IMPORTARE NIENT'ALTRO DA testapp

# Crea l'oggetto QApplication, NON chiamare QApplication
startapp()    # NON MODIFICARE

# Inizio implementazione dell'applicazione
window = QWidget()
window.setWindowTitle('Program01')
window.resize(300,200)
layout_2 = QVBoxLayout()
items = ('lunghezza', 'area', 'volume')
units = (('chilometri','metri','centimetri','millimetri'),
('chilometri quadri','ettari','metri quadri','centimetri quadri','millimetri quadri'),
('metri cubi','centimetri cubi','millimetri cubi','litri','decilitri','centilitri','millilitri'))

# Un combobox (QComboBox) di nome 'UNIT' che permette di scegliere il tipo
#  di unita' di misura e deve contenere i seguenti items in quest'ordine:
#  'lunghezza', 'area', 'volume'.
layout_1 = QHBoxLayout()
layout_1.addWidget(QLabel('UNIT'))
combo_1 = QComboBox()
combo_1.setObjectName('UNIT')
layout_1.addWidget(combo_1)
combo_1.addItems(items)
'''combo_1.setObjectName('UNIT')
combo_1.insertItems(0,items)
combo_1.setCurrentIndex(0)
combo_1.insertItems(1,items)
combo_1.setCurrentIndex(1)
combo_1.insertItems(2,items)
combo_1.setCurrentIndex(2)'''

# Un campo (QLineEdit) di nome 'FROM_NUM' in cui l'utente puo' inserire il
#  numero che vuole convertire.
layout_1.addWidget(QLabel('FROM_NUM'))
campo = QLineEdit()
campo.setObjectName('FROM_NUM')
layout_1.addWidget(campo)
# Un combobox (QComboBox) di nome 'FROM_U' che permette di scegliere l'unita'
#  di misura del numero nel campo 'FROM_NUM'. Piu' avanti sono specificati gli
#  items di tale combobox.
layout_1 = QHBoxLayout()
layout_1.addWidget(QLabel('FROM_U'))
combo_2 = QComboBox()
combo_2.setObjectName('FROM_U')
layout_1.addWidget(combo_2)
#combo_2.addItems(units0)
# Un combobox (QComboBox) di nome 'TO_U' che permette di scegliere l'unita'
#  di misura a cui convertire. Piu' avanti sono specificati gli items di tale
#  combobox.
layout_1 = QHBoxLayout()
layout_1.addWidget(QLabel('TO_U'))
combo_3 = QComboBox()
combo_3.setObjectName('TO_U')
layout_1.addWidget(combo_3)
#combo_3.addItems(units0)
# Una label (QLabel) di nome 'TO_NUM' che visualizza il risultato della
#  conversione.
layout_1 = QHBoxLayout()
layout_1.addWidget(QLabel('TO_NUM'))
label_1 = QLabel()
label_1.setObjectName('TO_NUM')
layout_1.addWidget(label_1)

def insert_combo():
global unit
if combo_1.currentIndex():
combo_2 == units0
combo_3 == units0
elif  combo_1.currentIndex():
combo_2 == units1 
combo_3 == units1
elif  combo_1.currentIndex():
combo_2 == units2
combo_3 == units2
combo_1.activated.connect(insert_combo)
combo_2.activated.connect(insert_combo)
combo_3.activated.connect(insert_combo)
layout_2.addWidget(combo_1)
layout_2.addWidget(campo)
layout_2.addWidget(combo_2)
layout_2.addWidget(combo_3)
layout_2.addWidget(label_1)
window.setLayout(layout_2)
window.show()
# Fine implementazione dell'applicazione
# Non chiamare exec_(), la prossima chiamata esegue l'applicazione
runapp(globals())


Grazie :)
aggiungo: uso la versione 2.7.8 di python su ubuntu e devo usare per forza le librerie importate li
e cmq il programma quando vado a lanciarlo dall'IDLE non mi da alcun errore però non va come dico io :( aiuto..!


Pagina: 1



Esegui il login per scrivere una risposta.