Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import messagebox
- from tkapp.base import App
- from tkapp.constants import LAST_ROW, LAST_COLUMN
- def main():
- app = App(
- title='Demo Application',
- admin_open=True,
- admin_close=False,
- defaults=defaults,
- )
- def progress_bar1(window):
- win = app.get_window(window.id)
- pb = win.get('content/middle_pane/progress/bar').progressbar
- def animate():
- pb.count += 500
- pb['value'] = pb.count
- if pb.count < pb['maximum']:
- pb.after(pb.refresh_rate, animate)
- else:
- messagebox.showinfo('Info', 'Process Completed Successfully')
- win.get('content/middle_pane/progress/start').button.config(command=animate)
- def progress_bar2(window):
- win = app.get_window(window.id)
- pb = win.get('content/middle_pane/notebook').tab('one').get('progress/bar').progressbar
- scale = win.get('content/middle_pane/notebook').tab('one').get('scale').scale
- def animate(count=None):
- if count:
- pb.count = 0
- pb.count += 500
- pb['value'] = pb.count
- if pb.count < pb['maximum']:
- pb.after(int(scale.get()), animate)
- else:
- messagebox.showinfo('Info', 'Process Completed Successfully')
- win.get('content/middle_pane/notebook').tab('one').get('progress/start').button.config(command=lambda: animate(1))
- def create_process1(window):
- win = app.get_window(window.id)
- def message():
- messagebox.showinfo('Info', 'This is process 1 ' + window.id)
- win.get('content/right_pane/create_process1').button.config(command=message)
- def create_process2(window):
- win = app.get_window(window.id)
- def message():
- messagebox.showinfo('Info', 'This is process 2 ' + window.id)
- win.get('content/right_pane/create_process2').button.config(command=message)
- def update_scale(window, val=None):
- tab = window.get('content/middle_pane/notebook').tab('one')
- label = tab.get('lscale')
- scale = tab.get('scale').scale
- if val is not None:
- label.var.set(int(float(val)))
- else:
- label.var.set(int(scale.get()))
- def refresh_scale(window):
- def scale(value):
- update_scale(window, value)
- window.get('content/middle_pane/notebook').tab('one').get('scale').scale.config(command=scale)
- def before_init_cache(admin):
- messagebox.showinfo('Info', 'before_init_cache hook. ')
- def after_init_cache(admin):
- messagebox.showinfo('Info', 'after_init_cache hook. ')
- def before_init_windows(admin):
- messagebox.showinfo('Info', 'before_init_windows hook. ')
- def after_init_windows(admin):
- messagebox.showinfo('Info', 'after_init_windows hook. ')
- def before_exit_app(admin):
- messagebox.showinfo('Info', 'before_exit_app hook. ')
- def after_exit_app(admin):
- messagebox.showinfo('Info', 'after_exit_app hook. ')
- def before_remove_callback(admin):
- messagebox.showinfo('Info', 'before_remove_callback hook. ')
- def after_remove_callback(admin):
- messagebox.showinfo('Info', 'after_remove_callback hook. ')
- def before_add_callback(admin):
- messagebox.showinfo('Info', 'before_add_callback hook. ')
- def after_add_callback(admin):
- messagebox.showinfo('Info', 'after_add_callback hook. ')
- def after_admin(obj):
- messagebox.showinfo('Info', 'This is after_admin ')
- def before_admin(obj):
- messagebox.showinfo('Info', 'This is before_admin ')
- def setup_process1(window):
- messagebox.showinfo('Info', 'after_open hook. ' + window.id)
- def setup_process2(window):
- messagebox.showinfo('Info', 'before_open hook. ' + window.id)
- def destroy_process1(window):
- messagebox.showinfo('Info', 'before_close hook. ' + window.id)
- def destroy_process2():
- messagebox.showinfo('Info', 'after_close hook. ')
- # #######################################################################
- app.add_callback('admin', 'after_admin', after_admin)
- app.add_callback('admin', 'before_admin', before_admin)
- app.add_callback('admin', 'after_init_cache', after_init_cache)
- app.add_callback('admin', 'before_init_cache', before_init_cache)
- app.add_callback('admin', 'after_init_windows', after_init_windows)
- app.add_callback('admin', 'before_init_windows', before_init_windows)
- app.add_callback('admin', 'after_exit_app', after_exit_app)
- app.add_callback('admin', 'before_exit_app', before_exit_app)
- app.add_callback('admin', 'after_remove_callback', after_remove_callback)
- app.add_callback('admin', 'before_remove_callback', before_remove_callback)
- app.add_callback('admin', 'after_add_callback', after_add_callback)
- app.add_callback('admin', 'before_add_callback', before_add_callback)
- # #######################################################################
- app.add_callback('window1', 'after_open', progress_bar1)
- app.add_callback('window1', 'after_open', progress_bar2)
- app.add_callback('window1', 'after_open', update_scale)
- app.add_callback('window1', 'after_open', refresh_scale)
- app.add_callback('window1', 'before_open', setup_process2)
- # #######################################################################
- app.add_callback('window2', 'after_open', create_process1)
- app.add_callback('window2', 'after_open', create_process2)
- app.remove_callback('window2', 'after_open', create_process1)
- app.add_callback('window2', 'after_open', setup_process1)
- app.add_callback('window2', 'before_open', setup_process2)
- app.add_callback('window2', 'before_close', destroy_process1)
- app.add_callback('window2', 'after_close', destroy_process2)
- # #######################################################################
- app.mainloop()
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement