Buongiorno a tutti,
ho un problemino di questo genere.
Due combobox , uno per la scelta di anno, l'altro per la scelta di mese. Al run dello script vengono visualizzati correttamente i valori (e.g. 2021 e Gennaio). Il problema è che quando faccio il select ottengo errore "perchè non è stato selezionato nulla.
La parte ui:
class Extract_ui():
def extract_part_one(self):
self.Extract_tab = QtWidgets.QWidget()
self.Extract_tab.setObjectName("Extract_tab")
self.Extract_Main_label = QtWidgets.QLabel(self.Extract_tab)
self.Extract_Main_label.setGeometry(QtCore.QRect(20, 10, 900, 41))
self.Extract_Main_label.setObjectName("patience_label")
font = QtGui.QFont()
font.setFamily("Free Mono")
font.setPointSize(13)
self.Extract_Main_label.setFont(font)
self.Extract_Main_label.setAlignment(QtCore.Qt.AlignCenter)
self.Extract_Main_label.setFrameShadow(QtWidgets.QFrame.Raised)
self.Extract_This_label = QtWidgets.QLabel(self.Extract_tab)
self.Extract_This_label.setGeometry(QtCore.QRect(20, 30, 900, 41))
self.Extract_This_label.setObjectName("this_label")
font = QtGui.QFont()
font.setFamily("Free Mono")
font.setPointSize(11)
self.Extract_This_label.setFont(font)
self.Extract_This_label.setStyleSheet("color: #0000FF; ")
self.Extract_This_label.setAlignment(QtCore.Qt.AlignCenter)
self.Extract_This_label.setFrameShadow(QtWidgets.QFrame.Raised)
self.Extract_Info_label = QtWidgets.QLabel(self.Extract_tab)
self.Extract_Info_label.setGeometry(QtCore.QRect(220, 90, 500, 30))
self.Extract_Info_label.setObjectName("test_label")
font = QtGui.QFont()
font.setFamily("Free Mono")
font.setPointSize(12)
self.Extract_Info_label.setFont(font)
self.Extract_Info_label.setStyleSheet("color: #000099; background-color: #BFBFBF; border: 1px solid black;")
self.Extract_Info_label.setAlignment(QtCore.Qt.AlignCenter)
self.Extract_Info_label.setFrameShadow(QtWidgets.QFrame.Raised)
self.Extract_Image_label = QtWidgets.QLabel(self.Extract_tab)
self.Extract_Image_label.setGeometry(QtCore.QRect(990, 5, 90, 80))
self.Extract_Image_label.setObjectName("image_label")
self.pixmap = QPixmap('ohio.png')
self.Extract_Image_label.setScaledContents(True)
self.Extract_Image_label.setPixmap(self.pixmap)
self.Extract_Year_select = QtWidgets.QComboBox(self.Extract_tab)
self.Extract_Year_select.setGeometry(QtCore.QRect(380, 140, 80, 20))
self.Extract_Year_select.setObjectName("Extract_Year_select")
self.Extract_Month_select = QtWidgets.QComboBox(self.Extract_tab)
self.Extract_Month_select.setGeometry(QtCore.QRect(480, 140, 100, 21))
self.Extract_Month_select.setObjectName("Extract_Month_select")
self.Extract_Elapsed_label = QtWidgets.QLabel(self.Extract_tab)
self.Extract_Elapsed_Result_label = QtWidgets.QLabel(self.Extract_tab)
self.Extract_Add_btn = QtWidgets.QPushButton(self.Extract_tab)
self.Extract_Add_btn.setGeometry(QtCore.QRect(440, 169, 70, 20))
self.Extract_Add_btn.setObjectName("Extract_Add_btn")
self.MainTabs_tabWidget.addTab(self.Extract_tab, "")
self.Extract_Close_btn = QtWidgets.QPushButton(self.Extract_tab)
def extract_part_two(self): _translate = QtCore.QCoreApplication.translate
self.Extract_Main_label.setText(_translate("Library_main", "Questa utility importa un file xlsx nel DB di sistema."))
self.Extract_This_label.setText(_translate("Library_main", "Il file deve trovarsi almeno in /media/Dropbox"))
self.Extract_Info_label.setText(_translate("Library_main", "Inserire anno e mese del file .xlsx da importare"))
self.Extract_Year_select.addItems(['2017', '2018', '2019', '2020', '2021', '2022', '2023', '2024'])
self.this_year = strftime("%Y")
self.Extract_Year_select.setCurrentText(self.this_year)
self.Extract_Year_select.currentTextChanged.connect(self.AnnoSelected_func)
self.Extract_Month_select.addItems(
['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'])
self.this_month = strftime("%m")
self.this_month = Functions.convert_number_month[self.this_month]
self.Extract_Month_select.setCurrentText(self.this_month)
self.Extract_Month_select.currentTextChanged.connect(self.MeseSelected_func)
#self.Extract_checkbox.stateChanged.connect(self.ClickBox_func)
self.Extract_Add_btn.setText(_translate("Library_main", "Select"))
self.Extract_Add_btn.clicked.connect(self.Data_For_ExtractDb)
self.MainTabs_tabWidget.setTabText(self.MainTabs_tabWidget.indexOf(self.Extract_tab), _translate("Library_main", "xlsx -> db"))
spezzone di codice
...
###############################
########
######
def MeseSelected_func(self, text = None): # +++
self.mese_in = text
def AnnoSelected_func(self, text= None): # +++
self.anno_in = text
def Data_For_ExtractDb(self, ): # +++
self.force = False
if self.mese_in == None or self.anno_in == None:
Functions.handle_error(self,message='SELEZIONE MANCANTE')
return
per bypassare il problema ho anteposto una stringa contenente un spazio e presentando vuoto il primo campo da selezionare
La domanda è, ovviamente: come posso utilizzare
"self.this_month"/"self. this_year"