Python tkinter.Canvas() Examples
The following are 30
code examples of tkinter.Canvas().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
tkinter
, or try the search function
.
Example #1
Source File: chartparser_app.py From razzy-spinner with GNU General Public License v3.0 | 7 votes |
def _sb_canvas(self, root, expand='y', fill='both', side='bottom'): """ Helper for __init__: construct a canvas with a scrollbar. """ cframe =tkinter.Frame(root, relief='sunk', border=2) cframe.pack(fill=fill, expand=expand, side=side) canvas = tkinter.Canvas(cframe, background='#e0e0e0') # Give the canvas a scrollbar. sb = tkinter.Scrollbar(cframe, orient='vertical') sb.pack(side='right', fill='y') canvas.pack(side='left', fill=fill, expand='yes') # Connect the scrollbars to the canvas. sb['command']= canvas.yview canvas['yscrollcommand'] = sb.set return (sb, canvas)
Example #2
Source File: itemscanvas.py From ttkwidgets with GNU General Public License v3.0 | 6 votes |
def add_item(self, text, font=("default", 12, "bold"), backgroundcolor="yellow", textcolor="black", highlightcolor="blue"): """ Add a new item on the Canvas. :param text: text to display :type text: str :param font: font of the text :type font: tuple or :class:`~tkinter.font.Font` :param backgroundcolor: background color :type backgroundcolor: str :param textcolor: text color :type textcolor: str :param highlightcolor: the color of the text when the item is selected :type highlightcolor: str """ item = self.canvas.create_text(0, 0, anchor=tk.NW, text=text, font=font, fill=textcolor, tag="item") rectangle = self.canvas.create_rectangle(self.canvas.bbox(item), fill=backgroundcolor) self.canvas.tag_lower(rectangle, item) self.items[item] = rectangle if callable(self._callback_add): self._callback_add(item, rectangle) self.item_colors[item] = (backgroundcolor, textcolor, highlightcolor)
Example #3
Source File: tk.py From Jtyoui with MIT License | 6 votes |
def ui(): root = tkinter.Tk() root.title('PDF和照片互转器') # 标题 root.resizable(width=False, height=False) # 防止大小调整 canvas = tkinter.Canvas(root, width=450, height=320, highlightthickness=0) # 创建画布 photo = tkinter.PhotoImage(file=file_zip_path + os.sep + 'pdf.png') # 获取背景图片的网络连接 canvas.create_image(225, 160, image=photo) select_dir_button = tkinter.Button(root, text="选择照片文件夹", command=select_dir, bg='yellow') # 创建按钮 select_pdf_button = tkinter.Button(root, text="选择PDF文件", command=select_pdf, bg='green') click_button = tkinter.Button(root, text="点击执行", command=start, bg='blue') select_dir_button.pack() # 启动按钮 select_pdf_button.pack() click_button.pack() canvas.create_window(240, 120, width=100, height=30, window=select_dir_button) # 将按钮创建到画布 canvas.create_window(240, 190, width=100, height=30, window=select_pdf_button) canvas.create_window(240, 260, width=100, height=30, window=click_button) canvas.pack() # 启动画布 root.mainloop() # 主程序循环
Example #4
Source File: graph_canvas.py From networkx_viewer with GNU General Public License v3.0 | 6 votes |
def _plot_graph(self, graph): # Create nodes scale = min(self.winfo_width(), self.winfo_height()) if scale == 1: # Canvas not initilized yet; use height and width hints scale = int(min(self['width'], self['height'])) scale -= 50 if len(graph) > 1: layout = self.create_layout(graph, scale=scale, min_distance=50) # Find min distance between any node and make sure that is at least # as big as for n in graph.nodes(): self._draw_node(layout[n]+20, n) else: self._draw_node((scale/2, scale/2), graph.nodes()[0]) # Create edges for frm, to in set(graph.edges()): self._draw_edge(frm, to) self._graph_changed()
Example #5
Source File: friendslist.py From Tkinter-GUI-Programming-by-Example with MIT License | 6 votes |
def show_friends(self): self.configure(menu=self.menu) self.login_frame.pack_forget() self.canvas = tk.Canvas(self, bg="white") self.canvas_frame = tk.Frame(self.canvas) self.scrollbar = ttk.Scrollbar(self, orient="vertical", command=self.canvas.yview) self.canvas.configure(yscrollcommand=self.scrollbar.set) self.scrollbar.pack(side=tk.LEFT, fill=tk.Y) self.canvas.pack(side=tk.LEFT, expand=1, fill=tk.BOTH) self.friends_area = self.canvas.create_window((0, 0), window=self.canvas_frame, anchor="nw") self.bind_events() self.load_friends()
Example #6
Source File: friendslist.py From Tkinter-GUI-Programming-by-Example with MIT License | 6 votes |
def __init__(self, **kwargs): super().__init__(**kwargs) self.title('Tk Chat') self.geometry('700x500') self.menu = tk.Menu(self, bg="lightgrey", fg="black", tearoff=0) self.friends_menu = tk.Menu(self.menu, fg="black", bg="lightgrey", tearoff=0) self.friends_menu.add_command(label="Add Friend", command=self.add_friend) self.menu.add_cascade(label="Friends", menu=self.friends_menu) self.configure(menu=self.menu) self.canvas = tk.Canvas(self, bg="white") self.canvas_frame = tk.Frame(self.canvas) self.scrollbar = ttk.Scrollbar(self, orient="vertical", command=self.canvas.yview) self.canvas.configure(yscrollcommand=self.scrollbar.set) self.scrollbar.pack(side=tk.LEFT, fill=tk.Y) self.canvas.pack(side=tk.LEFT, expand=1, fill=tk.BOTH) self.friends_area = self.canvas.create_window((0, 0), window=self.canvas_frame, anchor="nw") self.bind_events() self.load_friends()
Example #7
Source File: friendslist.py From Tkinter-GUI-Programming-by-Example with MIT License | 6 votes |
def show_friends(self): self.configure(menu=self.menu) self.login_frame.pack_forget() self.canvas = tk.Canvas(self, bg="white") self.canvas_frame = tk.Frame(self.canvas) self.scrollbar = ttk.Scrollbar(self, orient="vertical", command=self.canvas.yview) self.canvas.configure(yscrollcommand=self.scrollbar.set) self.scrollbar.pack(side=tk.LEFT, fill=tk.Y) self.canvas.pack(side=tk.LEFT, expand=1, fill=tk.BOTH) self.friends_area = self.canvas.create_window((0, 0), window=self.canvas_frame, anchor="nw") self.bind_events() self.load_friends()
Example #8
Source File: wicc_view_splash.py From WiCC with GNU General Public License v3.0 | 6 votes |
def __init__(self): root = tk.Tk() # show no frame root.overrideredirect(True) # get screen width and height ws = root.winfo_screenwidth() hs = root.winfo_screenheight() # calculate position x, y x = (ws / 2) - (self.width / 2) y = (hs / 2) - (self.height / 2) root.geometry('%dx%d+%d+%d' % (self.width, self.height, x, y)) image = tk.PhotoImage(file=self.image_file) canvas = tk.Canvas(root, height=self.height, width=self.width, bg="brown") canvas.create_image(self.width/2, self.height/2, image=image) canvas.pack() root.after(2500, root.destroy) root.mainloop()
Example #9
Source File: tokens.py From networkx_viewer with GNU General Public License v3.0 | 6 votes |
def __init__(self, host_canvas, data, node_name): tk.Canvas.__init__(self, width=20, height=20, highlightthickness=0) self._host_canvas = host_canvas self._complete = True self._marked = False self._default_bg = None self.bind('<ButtonPress-1>', self._host_event('onNodeButtonPress')) self.bind('<ButtonRelease-1>', self._host_event('onNodeButtonRelease')) self.bind('<B1-Motion>', self._host_event('onNodeMotion')) self.bind('<Button-3>', self._host_event('onTokenRightClick')) self.bind('<Key>', self._host_event('onNodeKey')) self.bind('<Enter>', lambda e: self.focus_set()) self.bind('<Leave>', lambda e: self.master.focus()) # Draw myself self.render(data, node_name)
Example #10
Source File: environment.py From reinforcement-learning-kr with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # 그리드 생성 for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # 캔버스에 이미지 추가 self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) canvas.pack() return canvas
Example #11
Source File: environment.py From reinforcement-learning-kr with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # 그리드 생성 for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) self.rewards = [] self.goal = [] # 캔버스에 이미지 추가 x, y = UNIT/2, UNIT/2 self.rectangle = canvas.create_image(x, y, image=self.shapes[0]) canvas.pack() return canvas
Example #12
Source File: environment.py From reinforcement-learning-kr with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # 그리드 생성 for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # 캔버스에 이미지 추가 self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) canvas.pack() return canvas
Example #13
Source File: environment.py From reinforcement-learning-kr with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # 그리드 생성 for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # 캔버스에 이미지 추가 self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) canvas.pack() return canvas
Example #14
Source File: environment.py From reinforcement-learning with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # create grids for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # add img to canvas self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) # pack all canvas.pack() return canvas
Example #15
Source File: environment.py From reinforcement-learning with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # create grids for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # add img to canvas self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) # pack all canvas.pack() return canvas
Example #16
Source File: ball.py From kpk2016 with GNU General Public License v3.0 | 6 votes |
def init_main_window(): """ Инициализация главного окна :return: """ global root, frame_bonus,frame_canvas, label_bonus, canvas root = tkinter.Tk() frame_bonus = tkinter.Frame(root) label_caption = tkinter.Label(frame_bonus, text=" Накопленные очки ", width=20, font="Calibri 14") label_bonus = tkinter.Label(frame_bonus, text="0", font="Calibri 14") label_caption.grid(row=0, column=0) label_bonus.grid(row=0, column=1) frame_bonus.pack() frame_canvas = tkinter.Frame(root) frame_canvas.pack() canvas = tkinter.Canvas(frame_canvas, background='white', width=400, height=400) canvas.bind('<Button>', click_ball) canvas.pack()
Example #17
Source File: environment.py From 2019-OSS-Summer-RL with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # 그리드 생성 for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) self.rewards = [] self.goal = [] # 캔버스에 이미지 추가 x, y = UNIT/2, UNIT/2 self.rectangle = canvas.create_image(x, y, image=self.shapes[0]) canvas.pack() return canvas
Example #18
Source File: environment.py From 2019-OSS-Summer-RL with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # 그리드 생성 for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # 캔버스에 이미지 추가 self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) canvas.pack() return canvas
Example #19
Source File: environment.py From 2019-OSS-Summer-RL with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # 그리드 생성 for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # 캔버스에 이미지 추가 self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) canvas.pack() return canvas
Example #20
Source File: environment.py From 2019-OSS-Summer-RL with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # 그리드 생성 for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # 캔버스에 이미지 추가 self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) canvas.pack() return canvas
Example #21
Source File: mainWindow.py From PyEveLiveDPS with GNU General Public License v3.0 | 6 votes |
def addCollapseButton(self, parent, row, column): """ darws and places the collapse icon next to the quit button """ self.collapsed = False self.collapseButton = tk.Canvas(parent, width=15, height=15, background="black", highlightbackground="white", highlightthickness="1") #Boxception self.collapseButton.create_line(5,5,12,5,fill="white") self.collapseButton.create_line(5,5,5,12,fill="white") self.collapseButton.create_line(11,11,11,5,fill="white") self.collapseButton.create_line(11,11,5,11,fill="white") self.collapseButton.grid(row=row, column=column, sticky="n") self.collapseButton.bind("<ButtonPress-1>", self.buttonDimGray) self.collapseButton.bind("<ButtonRelease-1>", self.collapseEvent) self.collapseButton.bind("<Enter>", self.buttonGray25) self.collapseButton.bind("<Leave>", self.buttonBlack)
Example #22
Source File: mainWindow.py From PyEveLiveDPS with GNU General Public License v3.0 | 6 votes |
def addQuitButton(self): """ draws and places the quit icon on the main window """ self.quitButton = tk.Canvas(width=15, height=15, background="black", highlightbackground="white", highlightthickness="1") self.quitButton.create_line(0,0,16,16,fill="white") self.quitButton.create_line(1,15,16,0,fill="white") self.quitButton.grid(row="5", column="19", sticky="ne") self.quitButton.bind("<ButtonPress-1>", self.buttonDimGray) self.quitButton.bind("<ButtonRelease-1>", self.quitEvent) self.quitButton.bind("<Enter>", self.buttonGray25) self.quitButton.bind("<Leave>", self.buttonBlack) tk.Frame(self, height=1, width=5, background="black").grid(row="5", column="18") self.rightSpacerFrame = tk.Frame(width=5, height=5, background="black") self.rightSpacerFrame.grid(row="0", column="100", rowspan="50") self.rightSpacerFrame.grid_remove()
Example #23
Source File: environment.py From reinforcement-learning with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # create grids for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) # add img to canvas self.rectangle = canvas.create_image(50, 50, image=self.shapes[0]) self.triangle1 = canvas.create_image(250, 150, image=self.shapes[1]) self.triangle2 = canvas.create_image(150, 250, image=self.shapes[1]) self.circle = canvas.create_image(250, 250, image=self.shapes[2]) # pack all canvas.pack() return canvas
Example #24
Source File: environment.py From reinforcement-learning with MIT License | 6 votes |
def _build_canvas(self): canvas = tk.Canvas(self, bg='white', height=HEIGHT * UNIT, width=WIDTH * UNIT) # create grids for c in range(0, WIDTH * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = c, 0, c, HEIGHT * UNIT canvas.create_line(x0, y0, x1, y1) for r in range(0, HEIGHT * UNIT, UNIT): # 0~400 by 80 x0, y0, x1, y1 = 0, r, HEIGHT * UNIT, r canvas.create_line(x0, y0, x1, y1) self.rewards = [] self.goal = [] # add image to canvas x, y = UNIT/2, UNIT/2 self.rectangle = canvas.create_image(x, y, image=self.shapes[0]) # pack all` canvas.pack() return canvas
Example #25
Source File: client_graphics.py From Pyro5 with MIT License | 6 votes |
def __init__(self): self.root = tkinter.Tk() self.root.title("Mandelbrot (Pyro multi CPU core version)") canvas = tkinter.Canvas(self.root, width=res_x, height=res_y, bg="#000000") canvas.pack() self.img = tkinter.PhotoImage(width=res_x, height=res_y) canvas.create_image((res_x/2, res_y/2), image=self.img, state="normal") with locate_ns() as ns: mandels = ns.yplookup(meta_any={"class:mandelbrot_calc_color"}) mandels = list(mandels.items()) print("{0} mandelbrot calculation servers found.".format(len(mandels))) if not mandels: raise ValueError("launch at least one mandelbrot calculation server before starting this") self.mandels = [uri for _, (uri, meta) in mandels] self.pool = futures.ThreadPoolExecutor(max_workers=len(self.mandels)) self.tasks = [] self.start_time = time.time() for line in range(res_y): self.tasks.append(self.calc_new_line(line)) self.root.after(100, self.draw_results) tkinter.mainloop()
Example #26
Source File: tkagg.py From Mastering-Elasticsearch-7.0 with MIT License | 5 votes |
def test(aggimage): r = tk.Tk() c = tk.Canvas(r, width=aggimage.width, height=aggimage.height) c.pack() p = tk.PhotoImage(width=aggimage.width, height=aggimage.height) blit(p, aggimage) c.create_image(aggimage.width, aggimage.height, image=p) blit(p, aggimage) while True: r.update_idletasks()
Example #27
Source File: bug_race.py From Python-GUI-Programming-with-Tkinter with MIT License | 5 votes |
def __init__(self): super().__init__() self.canvas = tk.Canvas(self, background='black') self.canvas.pack(fill='both', expand=1) self.after(200, self.setup)
Example #28
Source File: PlatformManagerDarwin.py From lackey with MIT License | 5 votes |
def __init__(self, root, rect, frame_color, screen_cap, queue): """ Accepts rect as (x,y,w,h) """ self.root = root self.root.tk.call('tk', 'scaling', 0.5) tk.Toplevel.__init__(self, self.root, bg="red", bd=0) self.queue = queue self.check_close_after = None ## Set toplevel geometry, remove borders, and push to the front self.geometry("{2}x{3}+{0}+{1}".format(*rect)) self.overrideredirect(1) self.attributes("-topmost", True) ## Create canvas and fill it with the provided image. Then draw rectangle outline self.canvas = tk.Canvas( self, width=rect[2], height=rect[3], bd=0, bg="blue", highlightthickness=0) self.tk_image = ImageTk.PhotoImage(Image.fromarray(screen_cap)) self.canvas.create_image(0, 0, image=self.tk_image, anchor=tk.NW) self.canvas.create_rectangle( 2, 2, rect[2]-2, rect[3]-2, outline=frame_color, width=4) self.canvas.pack(fill=tk.BOTH, expand=tk.YES) ## Lift to front if necessary and refresh. self.lift() self.update()
Example #29
Source File: PlatformManagerWindows.py From lackey with MIT License | 5 votes |
def __init__(self, root, rect, frame_color, screen_cap): """ Accepts rect as (x,y,w,h) """ self.root = root tk.Toplevel.__init__(self, self.root, bg="red", bd=0) ## Set toplevel geometry, remove borders, and push to the front self.geometry("{2}x{3}+{0}+{1}".format(*rect)) self.overrideredirect(1) self.attributes("-topmost", True) ## Create canvas and fill it with the provided image. Then draw rectangle outline self.canvas = tk.Canvas( self, width=rect[2], height=rect[3], bd=0, bg="blue", highlightthickness=0) self.tk_image = ImageTk.PhotoImage(Image.fromarray(screen_cap[..., [2, 1, 0]])) self.canvas.create_image(0, 0, image=self.tk_image, anchor=tk.NW) self.canvas.create_rectangle( 2, 2, rect[2]-2, rect[3]-2, outline=frame_color, width=4) self.canvas.pack(fill=tk.BOTH, expand=tk.YES) ## Lift to front if necessary and refresh. self.lift() self.update()
Example #30
Source File: views.py From Python-GUI-Programming-with-Tkinter with MIT License | 5 votes |
def __init__(self, parent, chart_width, chart_height, x_axis, y_axis, max_x, max_y): view_width = chart_width + 2 * self.margin view_height = chart_height + 2 * self.margin super().__init__( parent, width=view_width, height=view_height, background='lightgrey') self.max_x = max_x self.max_y = max_y self.chart_width = chart_width self.chart_height = chart_height # draw axes and labels self.origin = (self.margin, view_height - self.margin) self.create_line( self.origin, (self.margin, self.margin), width=2) self.create_line( self.origin, (view_width - self.margin, view_height - self.margin)) self.create_text( (view_width // 2, view_height - self.margin), text=x_axis, anchor='n') # angle requires tkinter 8.6 self.create_text( (self.margin, view_height // 2), text=y_axis, angle=90, anchor='s') # create chart self.chart = tk.Canvas( self, width=chart_width, height=chart_height, background='white') self.create_window( self.origin, window=self.chart, anchor='sw')