Files
djangohelper/main.py
2025-08-28 22:30:17 +08:00

114 lines
3.4 KiB
Python

import sys
import os
from loguru import logger
from PySide6.QtWidgets import QApplication, QMainWindow, QTabWidget
from PySide6.QtCore import QTimer
from server_connection_tab import ServerConnectionTab
from remote_command_tab import RemoteCommandTab
from django_tab import DjangoTab
from gunicorn_tab import GunicornTab
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("服务器管理工具")
self.setGeometry(100, 100, 800, 600)
# 创建标签页
self.tab_widget = QTabWidget()
# 服务器连接标签
self.server_tab = ServerConnectionTab()
self.tab_widget.addTab(self.server_tab, "服务器连接")
# 远程命令标签
self.remote_tab = RemoteCommandTab(self.server_tab)
self.tab_widget.addTab(self.remote_tab, "远程命令")
# Django标签
self.django_tab = DjangoTab(self.server_tab)
self.tab_widget.addTab(self.django_tab, "Django")
# Gunicorn标签
self.gunicorn_tab = GunicornTab(self.server_tab)
self.tab_widget.addTab(self.gunicorn_tab, "Gunicorn")
self.setCentralWidget(self.tab_widget)
# 连接标签切换事件
self.tab_widget.currentChanged.connect(self.on_tab_changed)
# 设置样式
self.setStyleSheet("""
QMainWindow {
background-color: #f0f0f0;
}
QTabWidget::pane {
border: 1px solid #c4c4c3;
background: white;
}
QTabBar::tab {
background: #e1e1e1;
border: 1px solid #c4c4c3;
padding: 8px 16px;
margin-right: 2px;
}
QTabBar::tab:selected {
background: white;
border-bottom-color: white;
}
QPushButton {
background-color: #0078d4;
color: white;
border: none;
padding: 8px 16px;
border-radius: 4px;
font-weight: bold;
}
QPushButton:hover {
background-color: #106ebe;
}
QPushButton:pressed {
background-color: #005a9e;
}
QPushButton:disabled {
background-color: #cccccc;
color: #666666;
}
QLineEdit {
border: 1px solid #c4c4c3;
padding: 6px;
border-radius: 3px;
background-color: white;
}
QTextEdit {
border: 1px solid #c4c4c3;
background-color: #f8f8f8;
font-family: 'Consolas', 'Monaco', monospace;
}
QProgressBar {
border: 1px solid #c4c4c3;
border-radius: 3px;
text-align: center;
background-color: #f0f0f0;
}
QProgressBar::chunk {
background-color: #0078d4;
}
""")
def on_tab_changed(self, index):
"""标签切换事件处理"""
pass
if __name__ == "__main__":
logger.add("app.log", rotation="1 day", retention="7 days")
logger.info("应用程序启动")
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())