''' Copyright 2021 Sagar Acharya ''' import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk def change_window(hide_win, show_win): hide_win.hide() show_win.show_all() def verify_pin(button): change_window(home, pay) def pay_money(button): change_window(pay, confirm) def verify_transaction(button): change_window(confirm, end) def pay_again(button): change_window(end, pay) #===== CREATE HOME PAGE =========================================== home = Gtk.Window(title="gnUPI") home.set_border_width(10) home.set_default_size(720,1440) grid = Gtk.Grid() grid.attach(Gtk.Label(label="UPI Login Pin", xalign=0), 2, 2, 1, 1) eb = Gtk.Entry() eb.set_max_length(4) eb.set_visibility(False) grid.attach(eb, 2, 3, 1, 1) home_sub = Gtk.Button.new_with_label("Submit") grid.attach(home_sub, 2, 4, 1, 1) home.add(grid) home_sub.connect("clicked", verify_pin) home.connect("destroy", Gtk.main_quit) #===== CREATE PAYMENT PAGE =========================================== pay = Gtk.Window(title="Payment Page") pay.set_border_width(10) pay.set_default_size(720,1440) grid_ex = Gtk.Grid() grid_ex.attach(Gtk.Label(label="UPI ID", xalign=0), 2, 2, 1, 1) grid_ex.attach(Gtk.Entry(), 4, 2, 1, 1) grid_ex.attach(Gtk.Label(label="Amount", xalign=0), 2, 3, 1, 1) grid_ex.attach(Gtk.Entry(), 4, 3, 1, 1) grid_ex.attach(Gtk.Label(label="Remarks(Optional)", xalign=0), 2, 4, 1, 1) grid_ex.attach(Gtk.Entry(), 4, 4, 1, 1) pay_but = Gtk.Button.new_with_label("Pay") grid_ex.attach(pay_but, 2, 5, 1, 1) pay.add(grid_ex) pay_but.connect("clicked", pay_money) pay.connect("destroy", Gtk.main_quit) #===== CREATE CONFIRM PAGE =========================================== confirm = Gtk.Window(title="Confirm") confirm.set_border_width(10) confirm.set_default_size(720,1440) confirm_grid = Gtk.Grid() confirm_grid.attach(Gtk.Label(label="Enter Transaction Pin", xalign=0), 2, 2, 1, 1) transact = Gtk.Entry() transact.set_max_length(4) transact.set_visibility(False) confirm_grid.attach(transact, 2, 3, 1, 1) confirm_sub = Gtk.Button.new_with_label("Confirm") confirm_grid.attach(confirm_sub, 2, 4, 1, 1) confirm.add(confirm_grid) confirm_sub.connect("clicked", verify_transaction) confirm.connect("destroy", Gtk.main_quit) #===== CREATE EXIT PAGE =========================================== end = Gtk.Window(title="End") end.set_border_width(10) end.set_default_size(720,1440) exit_grid = Gtk.Grid() exit_grid.attach(Gtk.Label(label="Payment Done", xalign=0), 2, 2, 1, 1) again = Gtk.Button.new_with_label("Home") exit_grid.attach(again, 2, 4, 1, 1) end.add(exit_grid) again.connect("clicked", pay_again) end.connect("destroy", Gtk.main_quit) #=================================================================== home.show_all() Gtk.main()