tkinter_canvas


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

tkinterのcanvas widgetだけ極めても結構なものが作れそうだったのでメモ。

http://www.python.jp/doc/2.4/lib/module-Tkinter.html

まずはデフォルトコード。

tkinterとスクロールバーをヒトくくりにしてしまう。

import tkinter as tk
class Skelton(tk.Frame):
  def __init__(self,master):
    tk.Frame.__init__(self,master)
    self.canvas = tk.Canvas(self,bg='#FFF')
    self.canvas.grid(row=0,column=0,sticky=tk.N+tk.E+tk.W+tk.S)
    self.x_scroll = tk.Scrollbar(self,orient=tk.HORIZONTAL,
      command=self.canvas.xview)
    self.x_scroll.grid(row=1,column=0,sticky=tk.E+tk.W)
    self.y_scroll = tk.Scrollbar(self,orient=tk.VERTICAL,
      command=self.canvas.yview)
    self.y_scroll.grid(row=0,column=1,sticky=tk.N+tk.S)

    self.canvas.config(xscrollcommand=self.x_scroll.set,
                yscrollcommand=self.y_scroll.set)
root=tk.Tk()
root.resizable(False,False)
s=Skelton(root)
s.pack()
tk.mainloop()

画面にぴっちりくっ付けるような設定もあったはずだが、思い出せず。

こんちくしょう。