Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import webbrowser
- import subprocess
- import tkinter as tk
- from tkinter import ttk
- from PIL import Image, ImageTk
- import getpass
- class MinecraftLauncher:
- def __init__(self, master):
- self.master = master
- master.title("Aboba Launcher V:1.0")
- master.geometry("800x600")
- # Загружаем стили темы ttk для более красивого внешнего вида
- style = ttk.Style()
- style.theme_use('clam')
- # Вставляем логотип
- logo = Image.open("materials\minecraft_logo.png")
- logo = logo.resize((100, 100), Image.LANCZOS)
- self.logo_image = ImageTk.PhotoImage(logo)
- self.logo_label = tk.Label(master, image=self.logo_image)
- self.logo_label.pack(pady=30)
- # Добавляем метку и поле ввода для имени пользователя
- self.username_label = ttk.Label(master, text="Username:", font=('Arial', 20, 'bold'))
- self.username_label.pack(pady=10)
- self.username_input = ttk.Entry(master, width=40, font=('Arial', 16))
- self.username_input.pack(ipady=8)
- # Добавляем метку и поле ввода для пароля
- self.password_label = ttk.Label(master, text="Password:", font=('Arial', 20, 'bold'))
- self.password_label.pack(pady=10)
- self.password_input = ttk.Entry(master, show="*", width=40, font=('Arial', 16))
- self.password_input.pack(ipady=8)
- # Добавляем метку и поле выбора версии
- self.version_label = ttk.Label(master, text="Minecraft Version:", font=('Arial', 20, 'bold'))
- self.version_label.pack(pady=10)
- self.version_combo = ttk.Combobox(master, width=20, font=('Arial', 16), state="readonly", values=["1.17.1", "1.17", "1.16.5", "1.16.4", "1.15.2", "1.15.1", "1.15", "1.14.4", "1.14.3", "1.14.2", "1.14.1", "1.14", "1.13.2", "1.13.1", "1.13", "1.12.2", "1.12.1", "1.12", "1.11.2", "1.11.1", "1.11", "1.10.2", "1.10.1", "1.10", "1.9.4", "1.9.3", "1.9.2", "1.9.1", "1.9", "1.8.9", "1.8.8", "1.8.7", "1.8.6", "1.8.5", "1.8.4", "1.8.3", "1.8.2", "1.8.1", "1.8", "1.7.10"])
- self.version_combo.current(0)
- self.version_combo.pack(ipady=8)
- # Создаем кнопку "Играть"
- style.configure('PlayButton.TButton',
- font=('Arial', 12),
- foreground='#000000',
- background='#FFA500',
- borderwidth=0, padx=10, pady=5,
- relief='flat')
- style.map('PlayButton.TButton', background=[('active', '#dddddd')])
- self.play_button = ttk.Button(master,
- text="Play",
- command=self.play_minecraft,
- style='PlayButton.TButton')
- self.play_button.place(relx=0.5, rely=0.9, anchor='center')
- # Создаем кнопку "О нас"
- style.configure('AboutButton.TButton',
- font=('Arial', 12),
- foreground='#000000',
- background='#FFA500',
- borderwidth=0, padx=10,
- pady=5, relief='flat')
- style.map('AboutButton.TButton', background=[('active', '#dddddd')])
- self.about_button = ttk.Button(master,
- text="About",
- command=self.show_about,
- style='AboutButton.TButton')
- self.about_button.place(relx=0.25, rely=0.9, anchor='center')
- # Создаем кнопку "Донат"
- style.configure('DonateButton.TButton',
- font=('Arial', 12),
- foreground='#000000',
- background='#FFA500',
- borderwidth=0, padx=10,
- pady=5, relief='flat')
- style.map('DonateButton.TButton', background=[('active', '#dddddd')])
- self.donate_button = ttk.Button(master,
- text="Donate",
- command=self.open_donate,
- style='DonateButton.TButton')
- self.donate_button.place(relx=0.75, rely=0.9, anchor='center')
- # Создаем кнопку "Settings"
- style.configure('SettingsButton.TButton',
- font=('Arial', 12),
- foreground='#000000',
- background='#FFA500',
- borderwidth=0,
- padx=10, pady=5,
- relief='flat')
- style.map('SettingsButton.TButton', background=[('active', '#dddddd')])
- self.settings_button = ttk.Button(master,
- text="Settings",
- command=self.show_settings,
- style='SettingsButton.TButton')
- self.settings_button.place(relx=0, rely=0)
- # Установка клавиш быстрого доступа для кнопок
- master.bind('<Return>', lambda event: self.play_minecraft())
- master.bind('<Escape>', lambda event: master.destroy())
- # Устанавливаем фокус на поле ввода имени пользователя
- self.username_input.focus()
- # Запрещаем изменение размеров окна
- master.resizable(False, False)
- # Устанавливаем цвет фона всех виджетов
- style.configure('.', background='#f5f5f5')
- # Настраиваем стиль для меток и полей ввода
- style.configure('TLabel',
- font=('Arial', 16),
- foreground='#4d4d4d',
- background='#f5f5f5')
- style.configure('TEntry',
- font=('Arial', 16),
- foreground='#4d4d4d',
- background='white')
- def play_minecraft(self):
- username = self.username_input.get()
- password = self.password_input.get()
- version = self.version_combo.get()
- if username == "":
- self.play_button.config(text="Error: Please enter a username!", foreground="red")
- else:
- self.play_button.config(text="Launching Minecraft...", foreground="green")
- subprocess.Popen(["minecraft_launcher.exe", "--username", username, "--password", password, "--version", version])
- def show_about(self):
- webbrowser.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
- def open_donate(self):
- webbrowser.open("https://example.com/donate")
- def show_settings(self):
- settings_window = tk.Toplevel(self.master)
- settings_window.title("Settings")
- settings_window.geometry("2048x1080")
- # Добавляем метку с картинкой
- settings_logo = Image.open("materials/settings_logo.png")
- settings_logo = settings_logo.resize((2048, 1080), Image.LANCZOS)
- self.settings_logo_image = ImageTk.PhotoImage(settings_logo)
- settings_logo_label = tk.Label(settings_window, image=self.settings_logo_image)
- settings_logo_label.pack(pady=10)
- # Добавляем метку с текстом
- settings_label = ttk.Label(settings_window, text="Settings:")
- settings_label.pack(pady=10)
- settings_window.grab_set()
- # Создаем основное окно и запускаем приложение
- root = tk.Tk()
- launcher = MinecraftLauncher(root)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement