Смотри мне нужно написать лаунчер (инжектор) Нужн...
Créé le : 30 mars 2025
Répondu en utilisant O3 Mini High par Chat01
Créé le : 30 mars 2025
Répondu en utilisant O3 Mini High par Chat01
Смотри мне нужно написать лаунчер (инжектор) Нужно сделать приложение в серых черных белых темносерых и других оттенках как лаунчер для хитбоксов, вот фулл тз: сам лаунчер это инжектор для дллок, лаунчер должен при входе иметь 2 выбора логин и регистрация, при регистрации юзернейм и пароль человек заполняет при логине тоже самое, в лаунчере должна быть вкладка с активацией кодов вкладка с контактом с поддержкой, вкладка с выбором версии и кнопкой инжект все параметры по типу ссыллки на поддержку, версии в влкадке для инжекта они будут братся с сервера так-же как и использование ключей я хочу что-бы я в админ панеле мог регестрировать ключи через телеграм бота, сделай лаунчер в стиле линукса с круглыми кнопками дл управления окном которые зеленые красные и желтые круглешки закругленный края и такая тематика красивая пиши без комментариев код и инжектор потом допилим пока можешь не писать
pythonimport sys from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QTabWidget, QVBoxLayout, QHBoxLayout, QLabel, QLineEdit, QPushButton, QStackedWidget, QComboBox from PyQt5.QtCore import Qt from PyQt5.QtGui import QPainter class CustomTitleBar(QWidget): def __init__(self, parent): super().__init__(parent) self.parent = parent self.setFixedHeight(30) self.btnClose = QPushButton("", self) self.btnMin = QPushButton("", self) self.btnMax = QPushButton("", self) self.btnClose.setGeometry(10, 5, 15, 15) self.btnMin.setGeometry(30, 5, 15, 15) self.btnMax.setGeometry(50, 5, 15, 15) self.btnClose.setStyleSheet("QPushButton {background-color: red; border-radius: 7px; border: none;}") self.btnMin.setStyleSheet("QPushButton {background-color: yellow; border-radius: 7px; border: none;}") self.btnMax.setStyleSheet("QPushButton {background-color: green; border-radius: 7px; border: none;}") self.btnClose.clicked.connect(self.parent.close) self.btnMin.clicked.connect(self.parent.showMinimized) self.btnMax.clicked.connect(self.toggleMaxRestore) def toggleMaxRestore(self): if self.parent.isMaximized(): self.parent.showNormal() else: self.parent.showMaximized() def mousePressEvent(self, event): if event.button() == Qt.LeftButton: self.dragPos = event.globalPos() - self.parent.frameGeometry().topLeft() event.accept() def mouseMoveEvent(self, event): if event.buttons() == Qt.LeftButton: self.parent.move(event.globalPos() - self.dragPos) event.accept() class LoginRegisterWidget(QWidget): def __init__(self): super().__init__() self.layout = QVBoxLayout() self.loginBtn = QPushButton("Login") self.registerBtn = QPushButton("Register") self.layout.addWidget(self.loginBtn) self.layout.addWidget(self.registerBtn) self.setLayout(self.layout) class AuthWidget(QWidget): def __init__(self, mode="login"): super().__init__() self.mode = mode self.layout = QVBoxLayout() self.username = QLineEdit() self.username.setPlaceholderText("Username") self.password = QLineEdit() self.password.setPlaceholderText("Password") self.password.setEchoMode(QLineEdit.Password) self.actionBtn = QPushButton("Login" if self.mode == "login" else "Register") self.layout.addWidget(self.username) self.layout.addWidget(self.password) self.layout.addWidget(self.actionBtn) self.setLayout(self.layout) class MainTabWidget(QWidget): def __init__(self): super().__init__() self.layout = QVBoxLayout() self.tabs = QTabWidget() self.activationTab = QWidget() self.supportTab = QWidget() self.versionTab = QWidget() self.tabs.addTab(self.activationTab, "Activation") self.tabs.addTab(self.supportTab, "Support") self.tabs.addTab(self.versionTab, "Versions") self.actLayout = QVBoxLayout() self.activationInput = QLineEdit() self.activationInput.setPlaceholderText("Enter activation code") self.activationBtn = QPushButton("Activate") self.actLayout.addWidget(self.activationInput) self.actLayout.addWidget(self.activationBtn) self.activationTab.setLayout(self.actLayout) self.supLayout = QVBoxLayout() self.supportLabel = QLabel("<a href='https://support.example.com'>Contact Support</a>") self.supportLabel.setOpenExternalLinks(True) self.supLayout.addWidget(self.supportLabel) self.supportTab.setLayout(self.supLayout) self.verLayout = QVBoxLayout() self.versionCombo = QComboBox() self.versionCombo.addItems(["Version 1", "Version 2", "Version 3"]) self.injectBtn = QPushButton("Inject") self.verLayout.addWidget(self.versionCombo) self.verLayout.addWidget(self.injectBtn) self.versionTab.setLayout(self.verLayout) self.layout.addWidget(self.tabs) self.setLayout(self.layout) class LauncherWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowFlags(Qt.FramelessWindowHint) self.setStyleSheet("background-color: #2e2e2e; color: white; font-family: sans-serif;") self.centralWidget = QWidget() self.setCentralWidget(self.centralWidget) self.layout = QVBoxLayout(self.centralWidget) self.titleBar = CustomTitleBar(self) self.layout.addWidget(self.titleBar) self.stack = QStackedWidget() self.layout.addWidget(self.stack) self.authSelect = LoginRegisterWidget() self.stack.addWidget(self.authSelect) self.loginWidget = AuthWidget("login") self.registerWidget = AuthWidget("register") self.stack.addWidget(self.loginWidget) self.stack.addWidget(self.registerWidget) self.mainTab = MainTabWidget() self.stack.addWidget(self.mainTab) self.authSelect.loginBtn.clicked.connect(self.showLogin) self.authSelect.registerBtn.clicked.connect(self.showRegister) self.loginWidget.actionBtn.clicked.connect(self.showMain) self.registerWidget.actionBtn.clicked.connect(self.showMain) def showLogin(self): self.stack.setCurrentWidget(self.loginWidget) def showRegister(self): self.stack.setCurrentWidget(self.registerWidget) def showMain(self): self.stack.setCurrentWidget(self.mainTab) if __name__ == "__main__": app = QApplication(sys.argv) launcher = LauncherWindow() launcher.resize(400, 300) launcher.show() sys.exit(app.exec_())