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 aiuto..! |
Pagina: 1
Esegui il login per scrivere una risposta.