Forum
>>
Programmazione Python
>>
GUI
>>
Ciao a tutti devo fare un piccolo convertitore di di unità ma sono bloccato
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
|
Scritto da pygerry95 |
2014-12-02 01:05:36 - Ciao a tutti devo fare un piccolo convertitore di di unità ma sono bloccato
|
|
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 |
|
|
Scritto da pygerry95 |
2014-12-02 01:09:55 - Re: Ciao a tutti devo fare un piccolo convertitore di di unità ma sono bloccato
|
|
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 |
Pagina: 1
Esegui il login per scrivere una risposta.
