43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
from PyQt5.QtWidgets import QMainWindow, QTabWidget
|
|
from gui.tabs.account_tab import AccountTab
|
|
from gui.tabs.products.product_tab import ProductTab
|
|
from gui.tabs.import_tab import ImportTab
|
|
from gui.tabs.listeds.listed_tab import ListedTab
|
|
|
|
class MainWindow(QMainWindow):
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.setWindowTitle("Facebook Marketplace Manager")
|
|
self.resize(1200, 600)
|
|
|
|
# Tạo QTabWidget
|
|
self.tabs = QTabWidget()
|
|
self.account_tab = AccountTab()
|
|
self.product_tab = ProductTab()
|
|
self.import_tab = ImportTab()
|
|
self.listed_tab = ListedTab()
|
|
|
|
self.tabs.addTab(self.account_tab, "Accounts")
|
|
self.tabs.addTab(self.product_tab, "Products")
|
|
self.tabs.addTab(self.listed_tab, "Queue Handle")
|
|
self.tabs.addTab(self.import_tab, "Import Data")
|
|
|
|
# Gắn event khi tab thay đổi
|
|
self.tabs.currentChanged.connect(self.on_tab_changed)
|
|
|
|
self.setCentralWidget(self.tabs)
|
|
|
|
# Khi mở app thì chỉ load tab đầu tiên (Accounts)
|
|
self.on_tab_changed(0)
|
|
|
|
def on_tab_changed(self, index):
|
|
"""Chỉ load nội dung tab khi được active."""
|
|
tab = self.tabs.widget(index)
|
|
|
|
# Mỗi tab có thể có hàm load_data() riêng
|
|
if hasattr(tab, "load_data"):
|
|
# Thêm cờ để tránh load lại nhiều lần không cần thiết
|
|
if not getattr(tab, "is_loaded", False):
|
|
tab.load_data()
|
|
tab.is_loaded = True
|