import tkinter as tk from tkinter import * from data import CPU import time cpu = CPU() WORD = '#00f5ff' color1 = '#ee28a3' color2 = '#668B8B' NOMARK = '#c5c9c5' NOMARK1 = NOMARK BLUE = "#0080FF" BLACK = "#000000" WHITE = "#FFFFFF" RED = "#FFAAAA" NORED = NOMARK1 # '#ffdddd' YELLOW = "#FFFACD" GREY = '#808080' GOLD = '#FFD700' GREEN = '#00FA9A' NOGREEN = NOMARK1 # '#00321f' BACK = '#0153d2' ORANGE = '#d3b719' NOORANGE = NOMARK1 # '#ede2a3' MEMBACK = '#fba651' MEMMARK = '#fd280f' MEMWORD = '#000000' width = 1000 #设置窗口宽度 height = 700 #设置窗口高度 root = tk.Tk() #设置主框架 root.title("CPU可视化") #设置标题 root.config(bg=BLACK) #设置背景颜色 root.geometry(f'{width + 300}x{height}') #设置大小 cv = tk.Canvas(root, bg='white', bd=2, relief="sunken", width=width + 300, height=height, background=BLACK, borderwidth=0, highlightthickness=0) #设置画布 cv.place(x=0, y=0, anchor=NW) #放置画布 def round_rectangle(x1, y1, x2, y2, r=25, **kwargs): points = ( x1 + r, y1, x1 + r, y1, x2 - r, y1, x2 - r, y1, x2, y1, x2, y1 + r, x2, y1 + r, x2, y2 - r, x2, y2 - r, x2, y2, x2 - r, y2, x2 - r, y2, x1 + r, y2, x1 + r, y2, x1, y2, x1, y2 - r, x1, y2 - r, x1, y1 + r, x1, y1 + r, x1, y1) return cv.create_polygon(points, **kwargs, smooth=True) # cv.grid(row=1,column=0) # cv.create_oval(20,20,40, 40, fill='red',width=0) # image = Image.open('image/CPU2.png') # im = ImageTk.PhotoImage(image) root_right = tk.Frame(root, bg=WHITE, relief="groove", width=250, height=height - 80) root_right.place(x=width + 20, y=40, anchor=NW) # 右边栏 round_rectangle(width + 20, 15, width + 270, height - 25, r=25, fill=WHITE, width=0) round_rectangle(20, 15, 970, height - 25, r=25, fill=WHITE, width=0) # cv.create_image(0, 0, anchor=NW, image=im) # cv.create_rectangle(0, 0, width, 10, fill=WHITE, width=0) # cv.create_rectangle(20, 14, 30, 674, fill=WHITE, width=0) # # cv.create_rectangle(710, 24, 925, 140, fill=WHITE, width=0) # cv.create_rectangle(77, 434, 533, 642, fill=color1, width=0) def use_rgb(rgb): """ 将rgb转十六进制 Args: rgb: rgb颜色 Returns: 十六进制 """ rgb = str(rgb) RGB = rgb.replace('(', '').replace(")", '').split(',') # 将RGB格式划分开来 color = "#" for i in RGB: num = int(i) # 将R、G、B分别转化为16进制拼接转换并大写 hex() 函数用于将10进制整数转换成16进制,以字符串形式表示 color += str(hex(num))[-2:].replace('x', '0') # for i in range(len(color)): # if color[i] >= 'a' and color[i] <= 'z': # c = int(color[i]) + int('A') - int('a') # color[i] = str[c] return color.upper() if __name__ == "__main__": # print(use_rgb((225, 225, 225))) def left1(event): print(event.x, event.y) cv.bind('', left1) mainloop()#执行GUI界面