from PyQt5 import QtWidgets, QtCore from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout, QLabel, QPushButton, QTextEdit from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service #웨일 # from webdriver_manager.chrome import ChromeDriverManager #웨일 import time import ctypes import atexit from login import login import sys from navigate import navigate_to_new_product_registration from modify_products import modify_products from database import setup_database from utils import log from config import WEBSITE_URL from credentials import load_credentials, save_credentials from ai.gemini import ImageDescriptionGenerator from login_widget import LoginWidget from mongo_config import MongoConfig from PyQt5 import QtCore, QtWidgets from logger_module import setup_logger import logging class MainWindow(QWidget): def __init__(self, mongo_config, logger, CURRENT_VERSION): super().__init__() self.mongo_config = mongo_config self.logger = logger self.CURRENT_VERSION = CURRENT_VERSION self.initUI() def initUI(self): self.setWindowTitle('AutoPercenty by 리앤수인터') self.setGeometry(300, 300, 600, 500) # 위치와 크기 설정 grid = QGridLayout() self.setLayout(grid) # 로그인 정보와 작업 상태 정보 라벨 추가 self.loginInfoLabel = QLabel('로그인 정보가 여기 표시됩니다.') grid.addWidget(self.loginInfoLabel, 0, 0, 1, 2) self.workStatusLabel = QLabel('작업 상태 정보가 여기 표시됩니다.') grid.addWidget(self.workStatusLabel, 0, 2, 1, 1) # 로그인 버튼 추가 self.loginButton = QPushButton('로그인') self.loginButton.clicked.connect(self.openLoginWidget) grid.addWidget(self.loginButton, 1, 0) # 로그 박스 추가 self.logBox = QTextEdit() self.logBox.setReadOnly(True) grid.addWidget(self.logBox, 2, 0, 3, 3) # 2행 0열부터 4행 2열까지 def openLoginWidget(self): # 여기서 LoginWidget 인스턴스를 생성하고 표시합니다. self.login_widget = LoginWidget(self.mongo_config, self.CURRENT_VERSION) self.login_widget.show() def main(): CURRENT_VERSION = "1.0.1" app = QApplication(sys.argv) mongo_config = MongoConfig() logger = setup_logger('default_logger', 'application.log', level=logging.DEBUG) main_window = MainWindow(mongo_config, logger,CURRENT_VERSION) main_window.show() sys.exit(app.exec_())