magictk/debug.py

136 lines
6.1 KiB
Python

import magictk
import random
from multiprocessing import Process
if __name__ == "__main__":
win = magictk.Window(h=400)
# win = magictk.Container(mwin, h=10000, container_h=500)
frame = magictk.Frame(win)
magictk.Button(frame, text="Default",
func=lambda s: print("Btn 1")).pack(side='left')
magictk.ButtonFill(frame, text="Primary",
func=lambda s: print("Btn 2")).pack(side='left')
magictk.ButtonFill(frame, color_type="success", text="Success",
func=lambda s: print("Btn 3")).pack(side='left')
magictk.ButtonFill(frame, color_type="info", text="Info",
func=lambda s: print("Btn 4")).pack(side='left')
magictk.ButtonFill(frame, color_type="warning", text="Warning",
func=lambda s: print("Btn 5")).pack(side='left')
magictk.ButtonFill(frame, color_type="danger", text="Danger",
func=lambda s: print("Btn 6")).pack(side='left')
frame.pack()
frame10 = magictk.Frame(win)
magictk.ButtonLight(frame10, text="Plain",
func=lambda s: print("Btn 2")).pack(side='left')
magictk.ButtonLight(frame10, color_type="primary", text="Primary",
func=lambda s: print("Btn 2")).pack(side='left')
magictk.ButtonLight(frame10, color_type="success", text="Success",
func=lambda s: print("Btn 3")).pack(side='left')
magictk.ButtonLight(frame10, color_type="info", text="Info",
func=lambda s: print("Btn 4")).pack(side='left')
magictk.ButtonLight(frame10, color_type="warning", text="Warning",
func=lambda s: print("Btn 5")).pack(side='left')
magictk.ButtonLight(frame10, color_type="danger", text="Danger",
func=lambda s: print("Btn 6")).pack(side='left')
frame10.pack()
frame2 = magictk.Frame(win)
magictk.Select(frame2, text="Select", items=[
f"Option {i}" for i in range(1, 6)]).pack(side='left')
magictk.Select(frame2, text="Select(1000 items)", items=[
f"Option {i}" for i in range(1, 1001)]).pack(side='left')
obj1 = magictk.MenuObjs()
for i in range(1, 10):
obj1.addmenu(f"Option {i}", lambda s, t: print(i))
magictk.Button(frame2, text="Menu",
func=lambda s: magictk.Menu(win, menuobj=obj1), w=60).pack()
frame2.pack()
frame3 = magictk.Frame(win)
groups = magictk.RadioGroup()
magictk.Checkbox(frame3, text="Radio 1", w=100,
group=groups).pack(side='left')
magictk.Checkbox(frame3, text="Radio 2", w=100,
group=groups).pack(side='left')
magictk.Checkbox(frame3, text="Radio 3", w=100,
group=groups).pack(side='left')
magictk.Checkbox(frame3, text="Radio 4", w=100,
group=groups).pack(side='left')
frame3.pack()
frame5 = magictk.Frame(win)
magictk.Checkbox(frame5, text="Option 1", w=100).pack(side='left')
magictk.Checkbox(frame5, text="Option 2", w=100).pack(side='left')
frame5.pack()
frame4 = magictk.Frame(win)
magictk.Icon(frame4, size=12).pack(side='left')
magictk.Icon(frame4, size=16).pack(side='left')
magictk.Icon(frame4, size=32).pack(side='left')
magictk.Icon(frame4, size=48).pack(side='left')
magictk.Button(frame4,
func=lambda s: print("Icon Btn 1"), iconname="apple", iconsize=16, w=32).pack(side='left')
magictk.ButtonFill(frame4, color_type="primary",
func=lambda s: print("Icon Btn 2"), iconname="apple", iconsize=16, w=32).pack(side='left')
magictk.ButtonLight(frame4,
func=lambda s: print("Icon Btn 3"), iconname="apple", iconsize=16, w=32).pack(side='left')
frame4.pack()
frame6 = magictk.Frame(win)
pb = magictk.ProgressBar(frame6)
pb.pack(side='left')
magictk.Button(frame6, text="+",
func=lambda s: pb.add_progress(0.1), w=30).pack(side='left')
magictk.Button(frame6, text="-",
func=lambda s: pb.add_progress(-0.1), w=30).pack(side='left')
magictk.Button(frame6, text="++",
func=lambda s: pb.add_progress(0.3), w=40).pack(side='left')
magictk.Button(frame6, text="--",
func=lambda s: pb.add_progress(-0.3), w=40).pack(side='left')
frame6.pack()
frame7 = magictk.Frame(win)
def kaoji():
def test(*args):
p = []
size = 10000000
for i in range(1, size):
if (i % 100000 == 0):
print(f"make data... {i*100//size}%")
p.append(random.randint(1, size))
print("sort...")
p.sort()
print("finish!")
del p
ts = Process(target=test)
ts.start()
magictk.Button(frame7, text="Performance Test",
func=lambda s: kaoji(), w=130).pack(side='left')
frame7.pack()
frame8 = magictk.Frame(win)
magictk.Entry(frame8, w=200).pack(side='left')
frame8.pack()
frame9 = magictk.Container(win, h=200, container_h=30*6*5)
for i in range(5):
magictk.Button(frame9, text="Default",
func=lambda s: print("Btn 1")).pack()
magictk.ButtonFill(frame9, text="Primary",
func=lambda s: print("Btn 2")).pack()
magictk.ButtonFill(frame9, color_type="success", text="Success",
func=lambda s: print("Btn 3")).pack()
magictk.ButtonFill(frame9, color_type="info", text="Info",
func=lambda s: print("Btn 4")).pack()
magictk.ButtonFill(frame9, color_type="warning", text="Warning",
func=lambda s: print("Btn 5")).pack()
magictk.ButtonFill(frame9, color_type="danger", text="Danger",
func=lambda s: print("Btn 6")).pack()
frame9.pack(expand=True, fill="x")
# win.pack(expand=True, fill="x", anchor="n")
win.mainloop()