Initial Codes
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
"""
|
||||
DBClient — entry point.
|
||||
"""
|
||||
import sys
|
||||
import os
|
||||
from PyQt6.QtWidgets import QApplication
|
||||
from PyQt6.QtCore import Qt
|
||||
from PyQt6.QtGui import QFont
|
||||
|
||||
from app.utils.logger import setup_logging, install_qt_message_handler, get_logger
|
||||
from app.main_window import MainWindow
|
||||
|
||||
log = get_logger(__name__)
|
||||
|
||||
|
||||
def load_stylesheet(app: QApplication) -> None:
|
||||
style_path = os.path.join(os.path.dirname(__file__), "resources", "style.qss")
|
||||
if os.path.exists(style_path):
|
||||
with open(style_path, "r", encoding="utf-8") as f:
|
||||
app.setStyleSheet(f.read())
|
||||
|
||||
|
||||
def main():
|
||||
# ── Logging must be set up before anything else ───────────────────────────
|
||||
setup_logging()
|
||||
|
||||
# High DPI
|
||||
os.environ.setdefault("QT_ENABLE_HIGHDPI_SCALING", "1")
|
||||
|
||||
app = QApplication(sys.argv)
|
||||
app.setApplicationName("DBClient")
|
||||
app.setApplicationDisplayName("DBClient")
|
||||
app.setApplicationVersion("1.0.0")
|
||||
app.setOrganizationName("DBClient")
|
||||
|
||||
# Route Qt's own warning/critical messages into the Python log
|
||||
install_qt_message_handler()
|
||||
|
||||
# Default font
|
||||
font = QFont("Segoe UI", 10)
|
||||
app.setFont(font)
|
||||
|
||||
load_stylesheet(app)
|
||||
|
||||
log.info("Starting MainWindow")
|
||||
window = MainWindow()
|
||||
window.show()
|
||||
|
||||
log.info("Entering event loop")
|
||||
exit_code = app.exec()
|
||||
log.info("Application exited with code %d", exit_code)
|
||||
sys.exit(exit_code)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user