bukkitgpt / cube_qgui /manager.py
velesbh's picture
Upload 56 files
a87d9a5 verified
# Author: Acer Zhang
# Datetime: 2021/9/14
# Copyright belongs to the author.
# Please indicate the source for reprinting.
import os
import platform
from tkinter import messagebox
from ttkbootstrap import Style
import cube_qgui as cqgui
# 资源部分
QGUI_BASE_PATH = os.path.dirname(cqgui.__file__)
RESOURCES_PATH = os.path.join(QGUI_BASE_PATH, "resources")
ICON_PATH = os.path.join(RESOURCES_PATH, "icon")
THEME_PATH = os.path.join(QGUI_BASE_PATH, "theme/ttkbootstrap_themes.json")
HORIZONTAL = "Horizontal水平方向"
VERTICAL = "Vertical垂直方向"
LEFT = "左侧"
RIGHT = "右侧"
TOP = "顶端"
BOTTOM = "底部"
# Tools部分
class ConcurrencyModeFlag:
# QUEUE_ = "触发后相关事件会以队列的形式执行"
SAFE_CONCURRENCY_MODE_FLAG = "不允许并发,禁止触发下一个事件"
# FORCE_CONCURRENCY_MODE_FLAG = "不允许并发,下一个事件被触发时结束上一个事件"
class QStyle:
default = {"theme": "qgui", "themes_file": THEME_PATH}
lumen = {"theme": "lumen"}
paddle = {"theme": "paddlelight", "themes_file": THEME_PATH}
paddle_dark = {"theme": "paddledark", "themes_file": THEME_PATH}
pytorch = {"theme": "pytorch", "themes_file": THEME_PATH}
tensorflow = {"theme": "tensorflow", "themes_file": THEME_PATH}
class MessageBox:
@staticmethod
def info(text: str, title: str = "Info - QGUI"):
messagebox.showinfo(title, text)
@staticmethod
def warning(text: str, title: str = "Warning - QGUI"):
messagebox.showwarning(title, text)
@staticmethod
def error(text: str, title: str = "Error - QGUI"):
messagebox.showerror(title, text)
def show_file_or_path(path, return_func=True):
def render(*args, **kwargs):
if platform.system().lower() == "darwin":
import subprocess
subprocess.call(["open", path])
else:
os.startfile(path)
if return_func:
return render
else:
return render()
BLACK = "#24262d"
GRAY = "#e3e3e3"
GREEN = "#76b67e"
FONT = "黑体"