
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...")