Valore preimpostato in ComboBox
« il: Gennaio 06, 2021, 14:53 »
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"