Files

114 lines
3.4 KiB
Python
Raw Permalink Normal View History

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):
"""标签切换事件处理"""
2025-08-28 22:30:17 +08:00
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())