12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import tkinter
- from tkinter import *
- from tkinter.ttk import *
- from .batch_task.frame_tab import FrameTabsBatchTask
- from .start.frame_tab import FrameTabsStart
- class WinGUI(Tk):
- def __init__(self):
- super().__init__()
- self.__win()
- self.tk_tabs_main_tabs = Frame_main_tabs(self)
- def __win(self):
- self.title("轻马私域微信机器人助手")
- # 设置窗口大小、居中
- width = 675
- height = 510
- screenwidth = self.winfo_screenwidth()
- screenheight = self.winfo_screenheight()
- geometry = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
- self.geometry(geometry)
- self.resizable(width=False, height=False)
- def scrollbar_autohide(self, vbar, hbar, widget):
- """自动隐藏滚动条"""
- def show():
- if vbar: vbar.lift(widget)
- if hbar: hbar.lift(widget)
- def hide():
- if vbar: vbar.lower(widget)
- if hbar: hbar.lower(widget)
- hide()
- widget.bind("<Enter>", lambda e: show())
- if vbar: vbar.bind("<Enter>", lambda e: show())
- if vbar: vbar.bind("<Leave>", lambda e: hide())
- if hbar: hbar.bind("<Enter>", lambda e: show())
- if hbar: hbar.bind("<Leave>", lambda e: hide())
- widget.bind("<Leave>", lambda e: hide())
- def v_scrollbar(self, vbar, widget, x, y, w, h, pw, ph):
- widget.configure(yscrollcommand=vbar.set)
- vbar.config(command=widget.yview)
- vbar.place(relx=(w + x) / pw, rely=y / ph, relheight=h / ph, anchor='ne')
- def h_scrollbar(self, hbar, widget, x, y, w, h, pw, ph):
- widget.configure(xscrollcommand=hbar.set)
- hbar.config(command=widget.xview)
- hbar.place(relx=x / pw, rely=(y + h) / ph, relwidth=w / pw, anchor='sw')
- def create_bar(self, master, widget, is_vbar, is_hbar, x, y, w, h, pw, ph):
- vbar, hbar = None, None
- if is_vbar:
- vbar = Scrollbar(master)
- self.v_scrollbar(vbar, widget, x, y, w, h, pw, ph)
- if is_hbar:
- hbar = Scrollbar(master, orient="horizontal")
- self.h_scrollbar(hbar, widget, x, y, w, h, pw, ph)
- self.scrollbar_autohide(vbar, hbar, widget)
- class Frame_main_tabs(Notebook):
- def __init__(self, parent):
- super().__init__(parent)
- self.__frame()
- def __frame(self):
- self.tk_tabs_start = FrameTabsStart(self)
- self.add(self.tk_tabs_start, text="启动服务")
- self.tk_tabs_batch_task = FrameTabsBatchTask(self)
- self.add(self.tk_tabs_batch_task, text="群发管理")
- self.place(x=0, y=0, width=675, height=510)
|