本文整理汇总了Python中tkinter.Frame.bind方法的典型用法代码示例。如果您正苦于以下问题:Python Frame.bind方法的具体用法?Python Frame.bind怎么用?Python Frame.bind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tkinter.Frame
的用法示例。
在下文中一共展示了Frame.bind方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: makeWindow
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
def makeWindow():
'create GUI'
frame = Frame(width=100, height=100, background = "blue")
frame.bind("<Button-1>", handler)
frame.bind('<Button-3>', handler2)
frame.pack()
frame.mainloop()
示例2: create_window
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
def create_window():
'''Function to create a GUI window of 100x100 that checks the event of a
left mouse click that occurs within the window.'''
root = Tk()
widget = Frame(root, width=100, height=100)
widget.bind("<Button-1>", check)
widget.pack()
root.mainloop()
示例3: __init__
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
def __init__(self):
"""
À completer !.
"""
super().__init__()
# Nom de la fenêtre.
self.title("Ultimate Tic-Tac-Toe")
# La partie de ultimate Tic-Tac-Toe
self.partie = Partie()
# Un ditionnaire contenant les 9 canvas des 9 plateaux du jeu
self.canvas_uplateau = {}
Button(self.canvas_uplateau, text ='Débuter la partie', command =self.demande_confirmation).\
grid(row =0, column =4)
self.var = IntVar()
Checkbutton(self, text= 'VS ordinateur', variable=self.var, onvalue =1, offvalue =0).grid(row =0, column =2)
# L'entrée du joueur1 est automatiquement demandé
Label(self.canvas_uplateau, text ="Nom du Joueur 1:").\
grid(row =0, column =0, sticky=E)
self.joueur1 = Entry(self.canvas_uplateau, width =14)
self.joueur1.grid(row =0, column =1, padx=5, pady=5, sticky=E+W)
# Label (self.canvas_uplateau, text="Le tour: {}".format(self.partie.joueur_courant.nom)).grid(row=3, column=3)
# L'entrée du joueur2 est selon la checkbox (peut etre l'ordinateur
Label(self.canvas_uplateau, text ="Nom du Joueur 2:").\
grid(row =1, column =0, sticky=E)
self.joueur2 = Entry(self.canvas_uplateau, width =14)
self.joueur2.grid(row =1, column =1, padx=5, pady=5, sticky=E+W)
Button(self.canvas_uplateau, text = 'Quitter', command = self.quit).\
grid (row = 5, column = 4, sticky = E)
# Création des frames et des canvas du jeu
for i in range(0, 3):
for j in range(0, 3):
cadre = Frame(self, borderwidth=5, relief=GROOVE, background = '#e1e1e1')
cadre.grid(row=i+3, column=j, padx=5, pady=5)
cadre.bind('<Enter>', self.entrer_frame)
cadre.bind('<Leave>', self.sortir_frame)
self.canvas_uplateau[i,j] = CanvasPlateau(cadre, self.partie.uplateau[i,j])
self.canvas_uplateau[i,j].grid()
# On lie un clic sur le Canvas à une méthode.
self.canvas_uplateau[i,j].bind('<Button-1>', self.selectionner)
# Ajout d'une étiquette d'information.
self.messages = Label(self)
self.messages.grid(columnspan=3)
示例4: initUI
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
def initUI(self):
#top frame using all the remaining space
innerTopFrame = Frame(self, background="black")
innerTopFrame.pack(fill=BOTH, expand=1)
#CLOSE Label
innerBottomLeftFrame = Frame(self, background="black")
innerBottomLeftFrame.place(x=0, width=self.wRoot/2,
y=self.hRoot-200, height=200)
closeLabel = Label(innerBottomLeftFrame, bg="black", fg="black",
text="CLOSE", font=("Comic Sans MS", 48, "bold"))
innerBottomLeftFrame.bind("<Enter>", lambda f: closeLabel.config(fg="white"))
innerBottomLeftFrame.bind("<Leave>", lambda f: closeLabel.config(fg="black"))
innerBottomLeftFrame.bind("<Button-1>", lambda f: self.root.quit())
closeLabel.bind("<Button-1>", lambda f: self.root.quit())
closeLabel.pack(fill=BOTH)
#SHUT DOWN Label
innerBottomRightFrame = Frame(self, background="black")
innerBottomRightFrame.place(x=self.wRoot/2, width=self.wRoot/2,
y=self.hRoot-200, height=200)
shutdownLabel = Label(innerBottomRightFrame, bg="black", fg="black",
text="SHUT DOWN", font=("Comic Sans MS", 48, "bold"))
innerBottomRightFrame.bind("<Enter>", lambda f: shutdownLabel.config(fg="white"))
innerBottomRightFrame.bind("<Leave>", lambda f: shutdownLabel.config(fg="black"))
innerBottomRightFrame.bind("<Button-1>", self.shutdown)
shutdownLabel.bind("<Button-1>", self.shutdown)
shutdownLabel.pack(fill=BOTH)
#design the FullScreenApp
self.pack(fill=BOTH, expand=1)
示例5: additems
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
def additems(i, doreturn=False, bgcolor="#555"):
returnable = []
for item in i:
global totalitems
totalitems += 1
ff = Frame(f, bg=bgcolor)
item.body = item.author.name + ' || ' + item.fullname + '\n' + item.body
item.body = str(totalitems) + '\n' + item.body
ibody = item.body.replace('\n\n', '\n')
ifinal = ''
for paragraph in ibody.split('\n'):
ifinal += '\n'.join(textwrap.wrap(paragraph))
ifinal += '\n'
item.body = ifinal
ww = 680
wh = 10
wx = 20
wy = 20
#print(ww, wh, wx, wy)
ff.ww = ww
ff.wh = wh
ff.wx = wx
ff.wy = wy
ff.body = item.body
ff.sourceitem = item
ff.configure(width=ww, height=wh)
ff.place(x=wx, y=wy)
ff.bind("<B1-Motion>", framedrag)
ff.bind("<ButtonRelease-1>", resetdrag)
ff.pack_propagate(0)
l = Label(ff, text=item.body, bg="#777")
l.place(x=10,y=10)
rt = Text(ff, width= 15, height= (len(ifinal.split('\n'))) - 2)
rt.sourceitem = item
rt.place(x=400,y=10)
rb = Button(ff, text="Reply", command= lambda rep=rt: reply(rep))
rb.place(x=400,y=wh-20)
ff.rt = rt
ff.rb = rb
if not doreturn:
widgets.append(ff)
else:
returnable.append(ff)
if doreturn:
return returnable
else:
refreshscreen()
示例6: main
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
def main():
root = Tk()
root.title("Rx for Python rocks")
scheduler = TkinterScheduler(root)
mousemove = Subject()
frame = Frame(root, width=600, height=600)
frame.bind("<Motion>", mousemove.on_next)
text = 'TIME FLIES LIKE AN ARROW'
def on_next(info):
label, ev, i = info
label.place(x=ev.x + i*12 + 15, y=ev.y)
def handle_label(label, i):
label.config(dict(borderwidth=0, padx=0, pady=0))
mapper = ops.map(lambda ev: (label, ev, i))
delayer = ops.delay(i*0.1)
return mousemove.pipe(
delayer,
mapper
)
labeler = ops.flat_map_indexed(handle_label)
mapper = ops.map(lambda c: Label(frame, text=c))
rx.from_(text).pipe(
mapper,
labeler
).subscribe(on_next, on_error=print, scheduler=scheduler)
frame.pack()
root.mainloop()
示例7: Preferences
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
class Preferences(Frame):
def __init__(self, master, valves):
Frame.__init__(self, master, bg='sky blue', width=1366, height=768)
self.master = master
self.canvas = Canvas(self, height=640, width=1300, bg='sky blue')
self.frame = Frame(self.canvas, bg='sky blue')
self.frame.bind('<Button-1>', self.process_click_out)
self.scrollbar = Scrollbar(self, orient='vertical', command=self.canvas.yview)
self.scrollbar.configure(activebackground='DarkRed', background='red', width=40)
self.canvas.configure(yscrollcommand=self.scrollbar.set, scrollregion=[0, 0, 1366, 2100])
self.scrollbar.pack(side='right', fill='y')
self.canvas.pack(side='left')
self.canvas.create_window((0, 0), window=self.frame, anchor='nw')
self.keyboard = Keyboard(self.master)
self.valves = valves
self.frame.config(bg='sky blue')
index = 0
while index < 25:
self.frame.grid_rowconfigure(index, minsize=80)
self.frame.grid_columnconfigure(index, minsize=150)
index += 1
num_label = [Label(self.frame, text='1'),
Label(self.frame, text='2'),
Label(self.frame, text='3'),
Label(self.frame, text='4'),
Label(self.frame, text='5'),
Label(self.frame, text='6'),
Label(self.frame, text='7'),
Label(self.frame, text='8'),
]
row = 1
for each in num_label:
each.grid(row=row, column=0)
each.config(width=3, font=('Lucida Console', 30), bg='sky blue', fg='RoyalBlue4')
row += 3
text_label = [Label(self.frame, text='VALVE 1: '),
Label(self.frame, text='ACTION A: '),
Label(self.frame, text='ACTION B: '),
Label(self.frame, text='VALVE 2: '),
Label(self.frame, text='ACTION A: '),
Label(self.frame, text='ACTION B: '),
Label(self.frame, text='VALVE 3: '),
Label(self.frame, text='ACTION A: '),
Label(self.frame, text='ACTION B: '),
Label(self.frame, text='VALVE 4: '),
Label(self.frame, text='ACTION A: '),
Label(self.frame, text='ACTION B: '),
Label(self.frame, text='VALVE 5: '),
Label(self.frame, text='ACTION A: '),
Label(self.frame, text='ACTION B: '),
Label(self.frame, text='VALVE 6: '),
Label(self.frame, text='ACTION A: '),
Label(self.frame, text='ACTION B: '),
Label(self.frame, text='VALVE 7: '),
Label(self.frame, text='ACTION A: '),
Label(self.frame, text='ACTION B: '),
Label(self.frame, text='VALVE 8: '),
Label(self.frame, text='ACTION A: '),
Label(self.frame, text='ACTION B: ')
]
row = 1
for each in text_label:
each.grid(row=row, column=1)
each.config(width=12, font=('Lucida Console', 30), bg='sky blue', fg='RoyalBlue4')
row += 1
self.valve_label = [Label(self.frame, textvariable=self.valves[0].get_name()),
Label(self.frame, textvariable=self.valves[1].get_name()),
Label(self.frame, textvariable=self.valves[2].get_name()),
Label(self.frame, textvariable=self.valves[3].get_name()),
Label(self.frame, textvariable=self.valves[4].get_name()),
Label(self.frame, textvariable=self.valves[5].get_name()),
Label(self.frame, textvariable=self.valves[6].get_name()),
Label(self.frame, textvariable=self.valves[7].get_name())]
row = 1
for each in self.valve_label:
each.grid(row=row, column=2)
each.config(width=12, font=('Lucida Console', 30), bg='sky blue', fg='RoyalBlue4', anchor='w')
each.bind('<Button-1>', self.process_click_out)
row += 3
self.entry_field = [Entry(self.frame, text=''),
Entry(self.frame, text=''),
Entry(self.frame, text=''),
#.........这里部分代码省略.........
示例8: mainGUI
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
class mainGUI(Frame, bootloader, GuiController):
""" Contains the main view for the application """
def __init__(self):
""" Create the initial application GUI environment (tool bars, and other static elements) """
Frame.__init__(self, self.root)
self.thread_entry_field = '' # Hold both search string, and drives autoRefresh logic
self.menuBar = Menu()
self.fileMenu = Menu(self.menuBar, tearoff=0)
self.menuBar.add_cascade(label="File", menu=self.fileMenu, underline=1)
self.fileMenu.add_command(label="Quit", command=self.root.destroy, underline=1)
self.optionsMenu = Menu(self.menuBar, tearoff=0)
self.menuBar.add_cascade(label="Options", menu=self.optionsMenu)
self.optionsMenu.add_command(label="Settings", command=self.editSettings, underline=1)
self.helpMenu = Menu(self.menuBar, tearoff=0)
self.menuBar.add_cascade(label="Help", menu=self.helpMenu)
self.helpMenu.add_command(label="Help", command=self.program_help, underline=1)
self.helpMenu.add_command(label="About", command=self.program_about, underline=1)
self.master.config(menu=self.menuBar)
self.topFrame = Frame()
self.thread_entry_box = Entry(self.topFrame)
self.thread_entry_box.insert(0, self.DEFAULT_THREAD_TEXT)
self.thread_entry_box.bind('<Return>', lambda event: self.add_thread_GUI())
# Bind needs to send the event to the handler
self.thread_entry_box.pack(side='left', fill='x', expand='True', padx=5)
self.add_thread_btn = Button(self.topFrame)
self.add_thread_btn['text'] = 'Add New Thread'
self.add_thread_btn['command'] = lambda: self.add_thread_GUI()
self.add_thread_btn.pack(side='left', padx=0)
self.topFrame.pack(fill='x')
self.create_thread_frame()
def create_thread_frame(self):
""" Sets up the main thread frame (where the magic happens) """
# Sets up frame
self.thread_list_canvas = Canvas(self.root, borderwidth=0)
self.thread_list_frame = Frame(self.thread_list_canvas)
# Creates scroll bar
self.vsb = Scrollbar(self.root, orient="vertical", command=self.thread_list_canvas.yview)
self.thread_list_canvas.configure(yscrollcommand=self.vsb.set)
self.vsb.pack(side="right", fill="y")
self.hsb = Scrollbar(self.root, orient="horizontal", command=self.thread_list_canvas.xview)
self.thread_list_canvas.configure(xscrollcommand=self.hsb.set)
self.hsb.pack(side="bottom", fill="x")
# Packs frame
self.thread_list_canvas.pack(side="left", fill="both", expand=True)
self.thread_list_canvas.create_window((4, 4), window=self.thread_list_frame, anchor="nw", tags="self.frame")
self.thread_list_frame.bind("<Configure>", self.OnFrameConfigure)
self.create_thread_list_box()
def OnFrameConfigure(self, event):
"""Reset the scroll region to encompass the inner frame"""
self.thread_list_canvas.configure(scrollregion=self.thread_list_canvas.bbox("all"))
# noinspection PyAttributeOutsideInit
def create_thread_list_box(self):
""" Creates the message list box for the create method """
def hover_on(widget):
widget['fg'] = 'dark blue'
# widget['underline'] = True
def hover_off(widget):
widget['fg'] = 'black'
# widget['underline'] = False
for individual_thread in self.MESSAGE_THREADS: # Fetch Message List from model
if individual_thread.is_valid_thread():
self.bg_color = 'green'
else:
self.bg_color = 'red'
self.individual_thread_frame = Frame(self.thread_list_frame,
bg=self.bg_color) # Create frame for each thread
rowToInsertAt = self.MESSAGE_THREADS.index(individual_thread)
self.text_color = 'black'
self.threadText = Label(self.individual_thread_frame, bg=self.bg_color, fg=self.text_color)
self.threadText['text'] = "[ Thread #: " + individual_thread.threadId + " ]"
self.threadText.bind("<Enter>", lambda event, text=self.threadText: hover_on(text))
self.threadText.bind("<Leave>", lambda event, text=self.threadText: hover_off(text))
self.threadText.bind("<Button-1>",
lambda event, thread_in=individual_thread: self.open_in_web_browser(thread_in))
self.threadText.grid(column=0, row=0, sticky='w', padx=0)
#.........这里部分代码省略.........
示例9: View
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
#.........这里部分代码省略.........
"""Creates the connects menus, i.e. for right click"""
self.context = Menu(self.master, tearoff=0)
self.context.add_command(label="Dirty",
command=self.control.cmd_dirty)
self.context.add_command(label="Clean",
command=self.control.cmd_clean)
def create_toolbar(self):
"""Creates toolbar, hopefully floating dockable but not yet"""
self.toolbar = Frame(self.master, bd=1, relief=RAISED)
self.img = Image.open("exit.png")
eimg = ImageTk.PhotoImage(self.img)
exitButton = Button(self.toolbar, image=eimg, bd=1,
relief=RAISED, command=self.control.cmd_exit)
exitButton.image = eimg
exitButton.pack(side=TOP, padx=2, pady=2)
anotherButton = Button(self.toolbar, image=eimg, bd=1,
relief=RAISED, command=self.control.cmd_null)
anotherButton.image = eimg
anotherButton.pack(side=TOP, padx=2, pady=2)
anotherButton = Button(self.toolbar, image=eimg, bd=1,
relief=RAISED, command=self.control.cmd_null)
anotherButton.image = eimg
anotherButton.pack(side=TOP, padx=2, pady=2)
self.toolbar.pack(side=LEFT, fill=Y)
def create_events(self):
"""Binds keyboard events to handlers"""
self.frame.bind("<Control-o>", self.key_open)
self.frame.bind("<Control-s>", self.key_save)
self.frame.bind("<Button-1>", self.left_click)
self.frame.bind("<Button-3>", self.right_click)
self.frame.bind("<Configure>", self.on_resize)
# Window closing event
self.master.protocol('WM_DELETE_WINDOW', self.control.cmd_exit)
def on_resize(self,e):
"""Called when window changes size"""
pass
@staticmethod
def question_box(title, text):
"""Just a wrapped for tkinter so command calls can be tkinter independent"""
return messagebox.askquestion(title, text) == "yes"
@staticmethod
def warning_box(title, text):
"""Just a wrapped for tkinter so command calls can be tkinter independent"""
messagebox.showwarning(title, text)
@staticmethod
def info_box(title, text):
"""Just a wrapped for tkinter so command calls can be tkinter independent"""
messagebox.showinfo(title, text)
@staticmethod
def open_file_dialog():
"""Just a wrapped for tkinter so command calls can be tkinter independent"""
return filedialog.askopenfilename(filetypes=(("Gcode","*.gcode"), ("All files","*.*")))
示例10: __init__
# 需要导入模块: from tkinter import Frame [as 别名]
# 或者: from tkinter.Frame import bind [as 别名]
def __init__(self):
"""
Methode speciale initialisant une nouvelle fenêtre de jeu Ultimate Tic-Tac-Toe.
"""
super().__init__()
# Nom de la fenêtre.
self.title("Ultimate Tic-Tac-Toe")
# La partie de ultimate Tic-Tac-Toe
self.partie = Partie()
# Un ditionnaire contenant les 9 canvas des 9 plateaux du jeu
self.canvas_uplateau = {}
# Création de deux joueurs.
self.JoueursDuJeux()
Popup()
# Création des frames et des canvas du jeu
for i in range(0, 3):
for j in range(0, 3):
cadre = Frame(self, borderwidth=5, relief=GROOVE, background = '#e1e1e1')
cadre.grid(row=i, column=j, padx=5, pady=5)
cadre.columnconfigure(0, weight=1)
cadre.rowconfigure(0, weight=1)
cadre.columnconfigure(1, weight=1)
cadre.rowconfigure(1, weight=1)
cadre.columnconfigure(2, weight=1)
cadre.rowconfigure(2, weight=1)
#cadre.columnconfigure(j, weight=1)
#cadre.rowconfigure(i, weight=1)
#Dessiner le cadre en jaune si la sourie entre dans le cadre
cadre.bind('<Enter>', self.entrer_frame)
cadre.bind('<Leave>', self.sortir_frame)
self.canvas_uplateau[i, j] = CanvasPlateau(cadre, self.partie.uplateau[i, j])
self.canvas_uplateau[i, j].grid()
# On lie un clic sur le Canvas à une méthode.
self.canvas_uplateau[i, j].bind('<Button-1>', self.selectionner)
#Pour redimensionner automatiquement la fenêtre principale
self.grid_columnconfigure(0, weight=1)
self.grid_rowconfigure(0, weight=1)
self.grid_columnconfigure(1, weight=1)
self.grid_rowconfigure(1, weight=1)
self.grid_columnconfigure(2, weight=1)
self.grid_rowconfigure(2, weight=1)
# Ajout d'une étiquette d'information.
self.messages = Label(self)
self.messages.grid(column=0, row=4, columnspan=3)
# Ajout d'une étiquette pour le nom des joueurs.
self.labNoms = Label(self)
self.labNoms.grid(column=0, row=5)
# Ajout d'une étiquette pour la date et le chronometre.
self.labDate = Label(self)
self.labDate.grid(column=0, row=6)
# Les bouttons en dessous
B1 = Button(self, text='Règles', width=15, command=self.regles).grid(row=7,column=0)
B2 = Button(self, text='Nouvelle Partie', width=15, command=self.nouvellePartie).grid(row=7, column=1)
B3 = Button(self, text='Statistiques', width=15, command=self.statistiques).grid(row=7, column=2)
B4 = Button(self, text='Historique', width=15, command=self.regles).grid(row=8, column=1)
B5 = Button(self, text='Quitter', width=5, command=self.quitter).grid(row=8, column=2)
B5 = Button(self, text='Tout recommencer', width=15, command=self.regles).grid(row=8, column=0)