magictk/debug.py

105 lines
4.4 KiB
Python

import magictk
import random
from multiprocessing import Process
if __name__ == "__main__":
win = magictk.Window()
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()
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()
frame4 = magictk.Frame(win)
magictk.Checkbox(frame4, text="Option 1", w=100).pack(side='left')
magictk.Checkbox(frame4, text="Option 2", w=100).pack(side='left')
frame4.pack()
frame5 = magictk.Frame(win)
pb = magictk.ProgressBar(frame5)
pb.pack(side='left')
magictk.Button(frame5, text="+",
func=lambda s: pb.add_progress(0.1), w=30).pack(side='left')
magictk.Button(frame5, text="-",
func=lambda s: pb.add_progress(-0.1), w=30).pack(side='left')
magictk.Button(frame5, text="++",
func=lambda s: pb.add_progress(0.3), w=40).pack(side='left')
magictk.Button(frame5, text="--",
func=lambda s: pb.add_progress(-0.3), w=40).pack(side='left')
frame5.pack()
frame6 = 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(frame6, text="Performance Test",
func=lambda s: kaoji(), w=130).pack(side='left')
frame6.pack()
frame7 = magictk.Frame(win)
magictk.Entry(frame7, w=200).pack(side='left')
frame7.pack()
frame8 = magictk.Container(win, h=10, container_h=30*6*5)
for i in range(5):
magictk.Button(frame8, text="Default",
func=lambda s: print("Btn 1")).pack()
magictk.ButtonFill(frame8, text="Primary",
func=lambda s: print("Btn 2")).pack()
magictk.ButtonFill(frame8, color_type="success", text="Success",
func=lambda s: print("Btn 3")).pack()
magictk.ButtonFill(frame8, color_type="info", text="Info",
func=lambda s: print("Btn 4")).pack()
magictk.ButtonFill(frame8, color_type="warning", text="Warning",
func=lambda s: print("Btn 5")).pack()
magictk.ButtonFill(frame8, color_type="danger", text="Danger",
func=lambda s: print("Btn 6")).pack()
frame8.pack()
win.mainloop()