1
0
Fork 0
AutoPercenty2/mainwindow.py

72 lines
2.7 KiB
Python

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_())