TypeError: MainWindow.__init__.<locals>.<lambda>() missing 1 required positional argument: '_'

Viewed 16

click here to view the code error

I'm trying to develop an application, and I can't solve this problem!

# Import modules
import sys
import os
import pandas as pd

# Importar QT CORE
from qt_core import *

# Import Main Window
from gui.main_window.ui_main_window import UI_MainWindow

# Main Window
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        # Título
        self.setWindowTitle("Inventário Ativa")

        # Setup Main Window
        self.ui = UI_MainWindow()
        self.ui.setup_ui(self)

        # Toggle button
        self.ui.toggle_button.clicked.connect(self.toggle_buttom)

        # BTN Home
        self.ui.btn_1.clicked.connect(self.show_page_1)
        self.ui.ui_pages.button.clicked.connect(lambda _,xl_path=excel_file_path ,sheet_name=worksheet_name: self.loadExcelData(xl_path, sheet_name))
        
        # BTN Widgets
        self.ui.btn_2.clicked.connect(self.show_page_2)

        # BTN Settings
        self.ui.settings_btn.clicked.connect(self.show_page_3)

        # Exibi a aplicação
        self.show()

        # Carregando Planilha 
        def loadExcelData(self, excel_file_dir, worksheet_name):
            df = pd.read_excel(excel_file_dir, worksheet_name)
            if df.size == 0:
                return

            df.fillna('', inplace=True)
            self.table.setRowCount(df.shape[0])
            self.table.setColumnCount(df.shape[1])
            self.table.setHorizontalHeaderLabels(df.columns)

            # Retorna Pandas Array
            for row in df.iterrows():
                values = row[1]
                for col_index, value in enumerate(values):
                    if isinstance(value, (float, int)):
                        value = '{0:0,.0f}'.format(value)
                    tableItem = QTableWidgetItem(str(value))
                    self.table.setItem(row[0], col_index, tableItem)


    def reset_selection(self):
        for btn in self.ui.left_menu.findChildren(QPushButton):
            try:
                btn.set_active(False)
            except:
                pass

    def show_page_1(self):
        self.reset_selection()
        self.ui.pages.setCurrentWidget(self.ui.ui_pages.page_1)
        self.ui.btn_1.set_active(True)

    def show_page_2(self):
        self.reset_selection()
        self.ui.pages.setCurrentWidget(self.ui.ui_pages.page_2)
        self.ui.btn_2.set_active(True)


    def show_page_3(self):
        self.reset_selection()
        self.ui.pages.setCurrentWidget(self.ui.ui_pages.page_3)
        self.ui.settings_btn.set_active(True)


    def toggle_buttom(self):
        # Pegando a largura
        menu_width = self.ui.left_menu.width()

        # checando o tamanho
        width = 50
        if menu_width == 50:
                width = 240

        # Start Animação
        self.animation = QPropertyAnimation(self.ui.left_menu, b"minimumWidth")
        self.animation.setStartValue(menu_width)
        self.animation.setEndValue(width)
        self.animation.setDuration(500)
        self.animation.setEasingCurve(QEasingCurve.InOutCirc)
        self.animation.start()


if __name__ == "__main__":

    
    excel_file_path = 'InventarioTeste.xlsx'
    worksheet_name = 'Inventario Geral'

    app = QApplication(sys.argv)
    window = MainWindow()

    try:
        sys.exit(app.exec())
    except SystemExit:
        print("Fechando Janela...")
0 Answers
Related