# from program import * from ExecInstructWithAnim import * from ExecInstructWithText import * r = RightPanel() run_ani = ExecInstructWithAnim() run_text = ExecInstructWithText() bw, bh = 150, 45 # 按钮1 bx1, by1 = 750, 30 Button1 = tk.Button(root, text='自动执行指令(仅寄存器)', background=GOLD, command=lambda: Program1(), state=NORMAL) Button1.place(x=bx1, y=by1, width=bw, height=bh) def Program1(): if run_text.play == 1 or run_ani.play == 1: messagebox.showwarning('警告', '程序正在运行') return run_text.auto_display() # 按钮2 bx2, by2 = 750, 90 Button2 = tk.Button(root, text='自动执行指令(带UI)', background=GOLD, command=lambda: Program2(), state=NORMAL) Button2.place(x=bx2, y=by2, width=bw, height=bh) def Program2(): if run_text.play == 1 or run_ani.play == 1: messagebox.showwarning('警告', '程序正在运行') return run_ani.auto_display() # 按钮3 bx2, by2 = 820, 150 WR = tk.Button(root, text='装载程序', background=RED, command=lambda: r.write_memory(), state=NORMAL) WR.place(x=bx2, y=by2, width=80, height=bh) def main(): # 右键菜单 def onRightButtonUp(event): menu.post(event.x_root, event.y_root) menu = tk.Menu(root, tearoff=0) menu.add_command(label='运算器', command=lambda: r.CAL_display()) menu.add_command(label='控制器', command=lambda: r.SIG_display()) menu.add_command(label='存储器', command=lambda: r.MEM_display()) cv.bind('', onRightButtonUp) root.mainloop() if __name__ == "__main__": from pycallgraph2 import PyCallGraph from pycallgraph2.output import GraphvizOutput from pycallgraph2 import Config from pycallgraph2 import GlobbingFilter output = GraphvizOutput(font_size=30) output.output_file = "basic.png" output.group_font_size = 40 config = Config() config.trace_filter = GlobbingFilter(include=[ 'RightPanel.*', 'ExecInstructWithAnim.*', 'ExecInstructWithText.*', ]) with PyCallGraph(output=output, config=config): main()