Esempio n. 1
0
    columnspan=2,
    padx=2,
    pady=0,
)

inc = Label(root, text="Welcome to Slate")
inc.grid(row=0, column=0)

save_button = Button(root, text="Save", command=save_as)
save_button.grid(row=0, column=3)

font = Menubutton(root, text="Font")
font.grid(row=0, column=2)

# learn the modern way to execute dropdown menus
font.menu = Menu(font, tearoff=0)

font["menu"] = font.menu

Helvetica = IntVar()
arial = IntVar()
times = IntVar()
Courier = IntVar()
font.menu.add_checkbutton(label="Courier",
                          variable=Courier,
                          command=Font_Courier)
font.menu.add_checkbutton(label="Helvetica",
                          variable=Helvetica,
                          command=Font_Helvetica)

root.protocol("WM_DELETE_WINDOW", on_closing)
Esempio n. 2
0
def RoomAvailibity():
    currentDate = datetime.datetime.now()
    currentDay = date.today()  #current date for schedule
    nextDay1 = date.today() + datetime.timedelta(days=1)
    nextDay2 = date.today() + datetime.timedelta(days=2)
    nextDay3 = date.today() + datetime.timedelta(days=3)
    nextDay4 = date.today() + datetime.timedelta(days=4)
    nextDay5 = date.today() + datetime.timedelta(days=5)
    nextDay6 = date.today() + datetime.timedelta(days=6)
    nextDay7 = date.today() + datetime.timedelta(days=7)

    year = currentDate.year
    day = currentDate.day
    month = currentDate.month

    # root=Tk()
    # root.title("Key")
    # root.geometry("200x200+1000+100")
    c2window = Tk()
    c2window.title("Available rooms")
    c2window.geometry("1000x600+10+100")
    conn = sqlite3.connect('hotel.db')
    cur = conn.cursor()
    sql = ' SELECT * FROM Room'
    cur.execute(sql)
    getAll = cur.fetchall()
    print(getAll[0])

    def checkIn(h):
        c2window.destroy()
        room(h)

    a = 99

    for row in range(22):

        for column in range(9):

            if row == 0:  #day of the week
                lable0 = Label(c2window,
                               text="Room Number",
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable0.grid(row=0, column=0, sticky="nsew", padx=1, pady=1)
                lable3 = Label(c2window,
                               text=currentDay.strftime('%A'),
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable3.grid(row=0, column=1, sticky="nsew", padx=1, pady=1)
                lable4 = Label(c2window,
                               text=nextDay1.strftime('%A'),
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable4.grid(row=0, column=2, sticky="nsew", padx=1, pady=1)
                lable3 = Label(c2window,
                               text=nextDay2.strftime('%A'),
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable3.grid(row=0, column=3, sticky="nsew", padx=1, pady=1)
                lable3 = Label(c2window,
                               text=nextDay3.strftime('%A'),
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable3.grid(row=0, column=4, sticky="nsew", padx=1, pady=1)
                lable3 = Label(c2window,
                               text=nextDay4.strftime('%A'),
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable3.grid(row=0, column=5, sticky="nsew", padx=1, pady=1)
                lable3 = Label(c2window,
                               text=nextDay5.strftime('%A'),
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable3.grid(row=0, column=6, sticky="nsew", padx=1, pady=1)
                lable3 = Label(c2window,
                               text=nextDay6.strftime('%A'),
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable3.grid(row=0, column=7, sticky="nsew", padx=1, pady=1)
                lable3 = Label(c2window,
                               text=nextDay7.strftime('%A'),
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable3.grid(row=0, column=8, sticky="nsew", padx=1, pady=1)
            elif row == 1:  #date
                lable2 = Label(c2window,
                               text=str(currentDay.month) + "/" +
                               str(currentDay.day))
                lable2.grid(row=1, column=1, sticky="nsew", padx=1, pady=1)
                lable2 = Label(c2window,
                               text=str(nextDay1.month) + "/" +
                               str(nextDay1.day))
                lable2.grid(row=1, column=2, sticky="nsew", padx=1, pady=1)
                lable2 = Label(c2window,
                               text=str(nextDay2.month) + "/" +
                               str(nextDay2.day))
                lable2.grid(row=1, column=3, sticky="nsew", padx=1, pady=1)
                lable2 = Label(c2window,
                               text=str(nextDay3.month) + "/" +
                               str(nextDay3.day))
                lable2.grid(row=1, column=4, sticky="nsew", padx=1, pady=1)
                lable2 = Label(c2window,
                               text=str(nextDay4.month) + "/" +
                               str(nextDay4.day))
                lable2.grid(row=1, column=5, sticky="nsew", padx=1, pady=1)
                lable2 = Label(c2window,
                               text=str(nextDay5.month) + "/" +
                               str(nextDay5.day))
                lable2.grid(row=1, column=6, sticky="nsew", padx=1, pady=1)
                lable2 = Label(c2window,
                               text=str(nextDay6.month) + "/" +
                               str(nextDay6.day))
                lable2.grid(row=1, column=7, sticky="nsew", padx=1, pady=1)
                lable2 = Label(c2window,
                               text=str(nextDay7.month) + "/" +
                               str(nextDay7.day))
                lable2.grid(row=1, column=8, sticky="nsew", padx=1, pady=1)

            elif column == 0:
                a += 1
                label = Label(c2window, text=a)
                label.grid(row=row,
                           column=column,
                           sticky="nsew",
                           padx=1,
                           pady=1)
            else:

                label6 = Menubutton(c2window, text="Available")
                label6.grid(row=row,
                            column=column,
                            sticky="nsew",
                            padx=1,
                            pady=1)
                c2window.grid_columnconfigure(column, weight=1, uniform=1)
                label6.menu = Menu(label6)
                label6["menu"] = label6.menu
                if column == 1:
                    label6.menu.add_command(
                        label="check In",
                        command=lambda roomNumber=a: checkIn(roomNumber))
                else:
                    label6.menu.add_command(
                        label="Reservation",
                        command=lambda roomNumber=a: reservationSystem())
                # lambda  h = h ,row= row, column=column, l= label : availableRoom(row,column,h,l))
                # label.menu.add_command (label = "Reservation", command=lambda  h= h, row= row, column=column, l= label : occupiedRoom(row,column,h,l))

    def loadCheckin():
        conn = sqlite3.connect('hotel.db')
        cur = conn.cursor()
        sql = ' SELECT * FROM Room WHERE CheckIN =  ' + str(1)
        cur.execute(sql)
        result = cur.fetchall()

        def loadrooms(row, column, first_name):
            widget = c2window.grid_slaves(row=row, column=column)[0]
            widget.configure(bg="blue", fg="white", text=first_name)

        for row in result:
            if row[2] == 'Unavailable/Occupied':
                cur = conn.cursor()
                # sql = 'SELECT first_name, last_name FROM guests WHERE guest_id=' + str(row[6])
                # sql= 'SELECT CheckInDate , CheckOutDate from Room UNION ALL SELECT  first_name, last_name from guests WHERE guest_id=' +str(row[6])
                sql = 'SELECT RoomNumber,first_name, last_name, CheckInDate, CheckOutDate from guests INNER JOIN Room on Room.guestID = guests.guest_id'
                cur.execute(sql)
                guest = cur.fetchall()

        for row in guest:
            print(row)
            year1, month1, day1 = map(int, row[4].split('/'))
            d = date(year1, month1, day1)
            year, month, day = map(int, row[3].split('/'))
            c = date(year, month, day)
            days = (d - c).days
            cur = conn.cursor()
            # sql = 'SELECT first_name, last_name FROM guests WHERE guest_id=' + str(row[6])
            # sql= 'SELECT CheckInDate , CheckOutDate from Room UNION ALL SELECT  first_name, last_name from guests WHERE guest_id=' +str(row[6])
            sql = 'SELECT RowX, ColumnY FROM RoomAvailability WHERE RoomNumber =' + row[
                0]
            cur.execute(sql)
            roomHere = cur.fetchall()
            print(days)
            if days == 0:
                loadrooms(roomHere[0][0], roomHere[0][1], row[1])
            elif days == 1:
                loadrooms(roomHere[0][0], roomHere[0][1], row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 1, row[1])

            elif days == 2:
                loadrooms(roomHere[0][0], roomHere[0][1], row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 1, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 2, row[1])
            elif days == 3:
                loadrooms(roomHere[0][0], roomHere[0][1], row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 1, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 2, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 3, row[1])
            elif days == 4:
                loadrooms(roomHere[0][0], roomHere[0][1], row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 1, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 2, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 3, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 4, row[1])
            elif days == 5:
                loadrooms(roomHere[0][0], roomHere[0][1], row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 1, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 2, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 3, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 4, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 5, row[1])
            elif days == 6:
                loadrooms(roomHere[0][0], roomHere[0][1], row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 1, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 2, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 3, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 4, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 5, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 6, row[1])
            elif days == 7:
                loadrooms(roomHere[0][0], roomHere[0][1], row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 1, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 2, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 3, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 4, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 5, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 6, row[1])
                loadrooms(roomHere[0][0], roomHere[0][1] + 7, row[1])

    loadCheckin()
Esempio n. 3
0
    def __init__(self, *args, **kwargs):
        Page.__init__(self, *args, **kwargs)

        self.configuration = Configuration().load_configuration()
        self.api = WalletAPI()
        self.tokens = self.api.list_tokens(self.configuration)
        self.eth_balance, _ = self.api.get_balance(self.configuration)

        def change_token(token):
            if token == 'ETH':
                self.eth_balance, _ = self.api.get_balance(self.configuration)
            else:
                self.eth_balance, _ = self.api.get_balance(
                    self.configuration, token)

            balance.set(str(self.eth_balance) + ' ' + token)

        token_symbol = StringVar()
        token_symbol.set('ETH')
        balance = StringVar()
        balance.set(str(self.eth_balance) + ' ' + token_symbol.get())

        mb = Menubutton(self,
                        width=60,
                        textvariable=token_symbol,
                        relief=RAISED)
        mb.grid()
        mb.menu = Menu(mb, tearoff=0)
        mb["menu"] = mb.menu
        mb.menu.add_radiobutton(
            label="ETH",
            variable=token_symbol,
            value='ETH',
            command=lambda: change_token(token_symbol.get()))
        for token in self.tokens:
            mb.menu.add_radiobutton(
                label=token,
                variable=token_symbol,
                value=token,
                command=lambda: change_token(token_symbol.get()))
        mb.pack()

        label = Label(self, textvariable=balance, width=60, font=(None, 30))
        label.pack()

        lbl_address = Label(self,
                            text="To address:",
                            width=60,
                            font=(None, 20))
        lbl_address.pack()

        entry_address = Entry(self, font=(None, 20), width=60, justify=CENTER)
        entry_address.pack()

        lbl_amount = Label(self, text="Amount:", width=60, font=(None, 20))
        lbl_amount.pack()

        entry_amount = Entry(self, font=(None, 20), width=60, justify=CENTER)
        entry_amount.pack()

        lbl_passphrase = Label(self,
                               text="Passphrase:",
                               width=60,
                               font=(None, 20))
        lbl_passphrase.pack()

        entry_passphrase = Entry(self,
                                 font=(None, 20),
                                 width=60,
                                 justify=CENTER)
        entry_passphrase.pack()

        btn_send = Button(
            self,
            text="Send",
            width=60,
            font=(None, 16),
            command=lambda: self.send_transaction(entry_address.get(
            ), entry_amount.get(), entry_passphrase.get(), token_symbol.get()))
        btn_send.pack()

        btn_back = Button(self,
                          text="Back",
                          width=60,
                          font=(None, 16),
                          command=self.navigate_home_page)
        btn_back.pack()
Esempio n. 4
0
from tkinter import (
    Tk, Menubutton, RAISED, Menu, IntVar
)

layar = Tk()
layar.title("Menu Button")
layar.geometry("300x100")

mb = Menubutton( master=layar, text="condiment", relief=RAISED)
mb.grid()
mb.menu = Menu( master=mb, tearoff=0)

mb["menu"] = mb.menu

mayoVar = IntVar()
ketchVar = IntVar()

mb.menu.add_checkbutton(label="mayo", variable=mayoVar)
mb.menu.add_checkbutton(label="ketch", variable=ketchVar)

mb.pack()

layar.mainloop()
Esempio n. 5
0
scale = Scale(top, from_=10, to=40, orient=HORIZONTAL, command=resize)
scale.set(12)
# 绘画界面,fill=X,expand=1表示可以被撑开
scale.pack(fill=X, expand=1)

quit_tk = Button(top,
                 text="QUIT",
                 command=top.quit,
                 activeforeground='white',
                 activebackground='red')
quit_tk.pack()

mb_lang = Menubutton(top, text='Language')

mb_lang.menu = Menu(mb_lang)
# 生成菜单项
for item in ['Python', 'PHP', 'CPP', 'C', 'Java', 'JavaScript', 'VBScript']:
    mb_lang.menu.add_command(label=item)
mb_lang['menu'] = mb_lang.menu
mb_lang.pack(side=LEFT)

# 添加向菜单中添加checkbutton项
mb_os = Menubutton(top, text='OS')
mb_os.menu = Menu(mb_os)
for item in ['Unix', 'Linux', 'Soloris', 'Windows']:
    mb_os.menu.add_checkbutton(label=item)
mb_os['menu'] = mb_os.menu
mb_os.pack(side=LEFT)

# 向菜单中添加radiobutton项
Esempio n. 6
0
    def __init__(self, *args, **kwargs):
        Page.__init__(self, *args, **kwargs)

        self.configuration = Configuration().load_configuration()
        self.api = WalletAPI()
        self.tokens = self.api.list_tokens(self.configuration)
        self.eth_balance, self.address = self.api.get_balance(
            self.configuration)

        def refresh():
            change_token(token_symbol.get())

        def change_token(token):
            if token == 'ETH':
                self.eth_balance, self.address = self.api.get_balance(
                    self.configuration)
            else:
                self.eth_balance, self.address = self.api.get_balance(
                    self.configuration, token)
            balance.set(str(self.eth_balance) + ' ' + token)

        token_symbol = StringVar()
        token_symbol.set('ETH')
        balance = StringVar()
        balance.set(str(self.eth_balance) + ' ' + token_symbol.get())

        mb = Menubutton(self,
                        width=60,
                        textvariable=token_symbol,
                        relief=RAISED)
        mb.grid()
        mb.menu = Menu(mb, tearoff=0)
        mb["menu"] = mb.menu
        mb.menu.add_radiobutton(
            label="ETH",
            variable=token_symbol,
            value='ETH',
            command=lambda: change_token(token_symbol.get()))
        for token in self.tokens:
            mb.menu.add_radiobutton(
                label=token,
                variable=token_symbol,
                value=token,
                command=lambda: change_token(token_symbol.get()))
        mb.menu.add_radiobutton(label="Add new token ...",
                                command=self.navigate_add_token_page)
        mb.pack()

        label_address_lbl = Label(self,
                                  text='Address:',
                                  width=60,
                                  font=(None, 10, "bold"))
        label_address_lbl.pack()
        label_address = Label(self,
                              text=self.address,
                              width=60,
                              font=(None, 10))
        label_address.pack()

        label_balance = Label(self,
                              textvariable=balance,
                              width=60,
                              font=(None, 30))
        label_balance.pack()

        btn_refresh = Button(self,
                             text="Refresh",
                             command=refresh,
                             width=60,
                             font=(None, 16))
        btn_refresh.pack()

        btn_copy_address = Button(self,
                                  text="Copy address",
                                  command=self.copy_address,
                                  width=60,
                                  font=(None, 16))
        btn_copy_address.pack()

        btn_send_transaction = Button(self,
                                      text="Send Transaction",
                                      command=self.navigate_transaction_page,
                                      width=60,
                                      font=(None, 16))
        btn_send_transaction.pack()
Esempio n. 7
0
def boldDoc():
    global textarea
    textarea.config(font=('arial', 14, 'bold'))


root = Tk()
root.title("MicroService")
savebtn = Button(
    root,
    command=saveDoc,
    text="Save",
)
savebtn.grid(row=1, column=0)
savebtn.config(font=('cursive', 16, 'bold'), bg="Hotpink", fg="white")
fontbtn = Menubutton(root, text="Font")
fontbtn.config(font=('arial', 16, 'bold'), bg="#00FFFF", fg="white")
fontbtn.grid(row=1, column=1)
fontbtn.menu = Menu(fontbtn, tearoff=0)
fontbtn["menu"] = fontbtn.menu
fontbtn.menu.add_checkbutton(label="Arial", command=Arial)
fontbtn.menu.add_checkbutton(label="Algerian", command=Algerian)
fontbtn.menu.add_checkbutton(label="Cambria", command=Cambria)
fontbtn.menu.add_checkbutton(label="Courier", command=Courier)
boldbtn = Button(root, command=boldDoc, text="Bold")
boldbtn.grid(row=1, column=2)
boldbtn.config(font=('arial', 16, 'bold'), bg="#8B0000", fg="white")
textarea = Text(root)
textarea.grid(row=2, columnspan=5)

root.mainloop()
Esempio n. 8
0
def roomType():
    roomroot = Tk()
    roomroot.title("Key")
    roomroot.geometry("410x150+850+50")
    roomwindow = Toplevel()
    roomwindow.title("Room Type")
    roomwindow.geometry("800x200+0+50")
    h = 99  #set room to start at 99 then add 1 to make 100 initial starting room

    def closeWindow(roomNumber, l):
        roomwindow.destroy()
        room(roomNumber, l)
        roomroot.destroy()

    def makeAvailable(roomNumber):
        conn = sqlite3.connect('hotel.db')
        cur = conn.cursor()
        sql = 'UPDATE Room SET RoomStatus = "Available",CHeckIN = ' + str(
            0) + ', GuestID = ' + str('null') + ' WHERE roomNumber = ' + str(
                roomNumber)

        cur.execute(sql)
        conn.commit()

    def makeUnavailable(roomNumber):
        conn = sqlite3.connect('hotel.db')
        cur = conn.cursor()
        sql = 'UPDATE Room SET RoomStatus = "Unavailable/Occupied" WHERE roomNumber = ' + str(
            roomNumber)
        cur.execute(sql)
        conn.commit()

    def makeRoomDirty(roomNumber):
        conn = sqlite3.connect('hotel.db')
        cur = conn.cursor()
        sql = 'UPDATE Room SET RoomStatus = "Unavailable/Dirty" WHERE roomNumber = ' + str(
            roomNumber)
        cur.execute(sql)
        conn.commit()

    def makeRoomMaintance(roomNumber):
        conn = sqlite3.connect('hotel.db')
        cur = conn.cursor()
        sql = 'UPDATE Room SET RoomStatus = "Unavailable/Maintenance" WHERE roomNumber = ' + str(
            roomNumber)
        cur.execute(sql)
        conn.commit()

    #function to change color depends on status of the room
    def loadDirtyRoom(row, column):
        widget = roomwindow.grid_slaves(row=row, column=column)[0]
        widget.configure(bg="pink", fg="black")

    def loadOccupiedRoom(row, column):
        widget = roomwindow.grid_slaves(row=row, column=column)[0]
        widget.configure(bg="blue", fg="black")

    def loadMaintenanceRoom(row, column):
        widget = roomwindow.grid_slaves(row=row, column=column)[0]
        widget.configure(bg="red", fg="white")

    def loadAvailableRoom(row, column):
        widget = roomwindow.grid_slaves(row=row, column=column)[0]
        widget.configure(bg="green")

    def availableRoom(row, column, h, l):
        # print(label.grid_info())
        makeAvailable(h)
        # widget= window.grid_slaves(row=row, column=column)[0]
        # widget.configure(bg="green")
        l.configure(bg="green")

    def dirtyRoom(row, column, h, l):
        #print(label.grid_info())
        # makeRoomDirty(h)
        # loadDirtyRoom(row,column)
        # # widget= window.grid_slaves(row=row, column=column)[0]
        # # widget.configure(bg="pink",fg="black")
        # l.configure(bg="pink",fg="black")
        conn = sqlite3.connect('hotel.db')
        sql5 = 'SELECT * FROM Room WHERE RoomNumber=' + str(h)
        cur = conn.cursor()
        cur.execute(sql5)
        print(h)
        result = cur.fetchall()
        print(result)
        for row in result:
            if (row[2] == "Available" or row[2] == "Unavailable/Maintenance"
                    or row[2] == "Unavailable/Occupied"):
                MsgBox = messagebox.askquestion('Room Dirty?',
                                                'Is room dirty??')
                if MsgBox == 'yes':
                    l.config(bg="pink", fg="white")
                    makeRoomDirty(h)
                else:
                    pass
            if (row[2] == "Unavailable/Dirty"):
                MsgBox = messagebox.askquestion('Room Dirty?',
                                                'Make room Available?')
                if MsgBox == 'yes':
                    availableRoom(row, column, h, l)
                else:
                    pass

    def occupiedRoom(row, column, h, l):
        #print(label.grid_info())
        room(h, l)
        l.config(bg='blue', fg='black')
        # widget= window.grid_slaves(row=row, column=column)[0]
        # widget.configure(bg="blue",fg="black")

    def maintenanceRoom(row, column, h, l):
        #print(label.grid_info())
        # l.config(bg="red", fg="white")
        # makeRoomMaintance(h)
        # widget= window.grid_slaves(row=row, column=column)[0]
        # widget.configure(bg="red",fg="white")
        conn = sqlite3.connect('hotel.db')
        sql5 = 'SELECT * FROM Room WHERE RoomNumber=' + str(h)
        cur = conn.cursor()
        cur.execute(sql5)
        print(h)
        result = cur.fetchall()
        print(result)
        for row in result:
            if (row[2] == "Available" or row[2] == "Unavailable/Dirty"
                    or row[2] == "Unavailable/Occupied"):
                MsgBox = messagebox.askquestion('Room Maintanance?',
                                                'Room Need Maintenance?')
                if MsgBox == 'yes':
                    l.config(bg="red", fg="white")
                    makeRoomMaintance(h)
                else:
                    pass
            if (row[2] == "Unavailable/Maintenance"):
                MsgBox = messagebox.askquestion('Room Maintanance?',
                                                'Make room Available?')
                if MsgBox == 'yes':
                    availableRoom(row, column, h, l)
                else:
                    pass

    for row in range(10):  #populate room and room types

        for column in range(6):

            if row == 0:
                lable1 = Label(roomwindow,
                               text="Room Number",
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable1.grid(row=0,
                            column=1,
                            sticky="nsew",
                            padx=1,
                            pady=1,
                            columnspan=8)
            elif row == 0 and column == 0:
                lable0 = Label(roomwindow, text="")
                lable0.grid(row=0, column=0, sticky="nsew", padx=1, pady=1)

            elif column == 0 and row == 1:
                lable2 = Label(roomwindow,
                               text="King Size bed",
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable2.grid(row=1, column=0, sticky="nsew", padx=1, pady=1)
            elif column == 0 and row == 2:
                lable3 = Label(roomwindow,
                               text="Double Queen Bed",
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable3.grid(row=2, column=0, sticky="nsew", padx=1, pady=1)
            elif row == 3 and column == 0:
                lable4 = Label(roomwindow,
                               text="Double Queen Bed With Kitchen",
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable4.grid(row=3, column=0, sticky="nsew", padx=1, pady=1)
            elif row == 4 and column == 0:
                lable5 = Label(roomwindow,
                               text="Suite",
                               bg="black",
                               fg="white",
                               padx=3,
                               pady=3)
                lable5.grid(row=4, column=0, sticky="nsew", padx=1, pady=1)
            elif row == 5:
                label6 = Label(roomroot,
                               text="Key",
                               bg="Gray",
                               fg="white",
                               padx=3,
                               pady=3,
                               font="24")
                label6.grid(row=5,
                            column=1,
                            sticky="nsew",
                            padx=1,
                            pady=1,
                            columnspan=6)
            elif row == 6:
                labelG = Label(roomroot,
                               text="Maintenance",
                               bg="red",
                               fg="white")
                labelG.grid(row=6,
                            column=5,
                            sticky="nsew",
                            padx=0,
                            pady=1,
                            columnspan=1)
                labelG = Label(roomroot,
                               text="Available",
                               bg="green",
                               fg="white")
                labelG.grid(row=6,
                            column=2,
                            sticky="nsew",
                            padx=0,
                            pady=1,
                            columnspan=1)
                labelG = Label(roomroot,
                               text="Occupied",
                               bg="blue",
                               fg="white")
                labelG.grid(row=6,
                            column=3,
                            sticky="nsew",
                            padx=0,
                            pady=1,
                            columnspan=1)
                labelG = Label(roomroot, text="Dirty", bg="pink", fg="black")
                labelG.grid(row=6,
                            column=4,
                            sticky="nsew",
                            padx=0,
                            pady=1,
                            columnspan=1)
            elif row == 7:
                labelh = Label(
                    roomroot,
                    text="To check out please select occupied again",
                    font="18",
                    bg="grey",
                    fg="white")
                labelh.grid(row=7, column=2, columnspan=4)
            elif row == 8:
                labelh = Label(
                    roomroot,
                    text=
                    "To Make room Available click on the coressponding Status",
                    font="18",
                    bg="grey",
                    fg="white")
                labelh.grid(row=8, column=2, columnspan=4)
            elif row == 9:
                labelh = Label(roomroot,
                               text="To exit please close the Key window",
                               font="18",
                               bg="grey",
                               fg="white")
                labelh.grid(row=9, column=2, columnspan=4)

            else:
                h += 1  #using Menu Button to let user select status of the room
                label = Menubutton(roomwindow,
                                   text=h,
                                   bg="green",
                                   fg="white",
                                   padx=1,
                                   pady=1)
                label.grid(row=row,
                           column=column,
                           sticky="nsew",
                           padx=1,
                           pady=1)
                roomwindow.grid_columnconfigure(column, weight=1, uniform=1)
                label.menu = Menu(label)
                label["menu"] = label.menu
                label.menu.add_command(
                    label="available",
                    command=lambda h=h, row=row, column=column, l=label:
                    availableRoom(row, column, h, l))
                label.menu.add_command(
                    label="occupied",
                    command=lambda h=h, row=row, column=column, l=label:
                    occupiedRoom(row, column, h, l))
                label.menu.add_command(
                    label="dirty",
                    command=lambda h=h, row=row, column=column, l=label:
                    dirtyRoom(row, column, h, l))
                label.menu.add_command(
                    label="maintenance",
                    command=lambda h=h, row=row, column=column, l=label:
                    maintenanceRoom(row, column, h, l))

    def reloadWindow():
        conn = sqlite3.connect('hotel.db')
        sql5 = 'SELECT * FROM Room'
        cur = conn.cursor()
        cur.execute(sql5)
        result = cur.fetchall()

        for row in result:
            print(row)
            if (row[2] == "Unavailable/Occupied"):
                sql2 = 'SELECT RowX, ColumnY FROM RoomType WHERE RoomNumber =' + row[
                    0]
                cur.execute(sql2)
                roomResult = cur.fetchall()
                for temp in roomResult:
                    loadOccupiedRoom(temp[0], temp[1])
            if (row[2] == "Unavailable/Dirty"):
                sql3 = 'SELECT RowX, ColumnY FROM RoomType WHERE RoomNumber =' + row[
                    0]
                cur.execute(sql3)
                roomResult1 = cur.fetchall()
                for temp in roomResult1:
                    loadDirtyRoom(temp[0], temp[1])
            if (row[2] == "Unavailable/Maintenance"):
                sql4 = 'SELECT RowX, ColumnY FROM RoomType WHERE RoomNumber =' + row[
                    0]
                cur.execute(sql4)
                roomResult2 = cur.fetchall()
                for temp in roomResult2:
                    loadMaintenanceRoom(temp[0], temp[1])
            if (row[2] == "Available"):
                sql4 = 'SELECT RowX, ColumnY FROM RoomType WHERE RoomNumber =' + row[
                    0]
                cur.execute(sql4)
                roomResult2 = cur.fetchall()
                for temp in roomResult2:
                    loadAvailableRoom(temp[0], temp[1])

    reloadWindow()
Esempio n. 9
0
pealkiri.grid(column=1, row=0, padx=10, pady=10, sticky=(N, S, W, E))

silt1 = ttk.Label(raam, text="Rusikas")
silt1.grid(column=1, row=1, padx=10, pady=10, sticky=(E))
silt2 = ttk.Label(raam, text="Kõik sõrmed püsti")
silt2.grid(column=1, row=2, padx=10, pady=10, sticky=(E))
silt3 = ttk.Label(raam, text="Üks sõrm püsti")
silt3.grid(column=1, row=3, padx=10, pady=10, sticky=(E))

menüü = Menubutton(raam,
                   text="Vali funktsioon",
                   textvariable="Funktsioon 1",
                   bg="gray60",
                   activebackground="gray30",
                   activeforeground="snow2")
menüü.menu = Menu(menüü)
menüü["menu"] = menüü.menu
menüülist(menüü)

menüü2 = Menubutton(raam,
                    text="Vali funktsioon",
                    bg="gray60",
                    activebackground="gray30",
                    activeforeground="snow2")
menüü2.menu = Menu(menüü2)
menüü2["menu"] = menüü2.menu
menüülist(menüü2)

menüü3 = Menubutton(raam,
                    text="Vali funktsioon",
                    bg="gray60",
    def __init__(self, topwin, keyvalcallbacks, keyvalstatevars):
        self.parent = topwin
        self.menubar = Menu(self.parent)
        self.keyvalstatevars = keyvalstatevars
        #???self.view_menu = Menu(self.menubar)
        # the file menu
        Command_button = Menubutton(self.menubar,
                                    text='Simple Button Commands',
                                    underline=0)
        Command_button.menu = Menu(Command_button)
        #Command_button.menu = Menu(self.menubar)
        Command_button.menu.add_command(label="Undo")
        # undo is the 0th entry...
        Command_button.menu.entryconfig(0, state=DISABLED)
        Command_button.menu.add_command(label='New...',
                                        underline=0,
                                        command=keyvalcallbacks["newfilefn"])
        Command_button.menu.add_command(label='Open...',
                                        underline=0,
                                        command=keyvalcallbacks["openfilefn"])
        Command_button.menu.add_command(
            label='ReScan...',
            underline=0,
            command=keyvalcallbacks["rescanmenufn"])
        # alternate font example
        Command_button.menu.add_command(
            label='Print',
            underline=0,
            font='-*-helvetica-*-r-*-*-*-180-*-*-*-*-*-*',
            command=keyvalcallbacks["printmenufn"])
        # separator example
        Command_button.menu.add('separator')
        Command_button.menu.add_command(
            label='Options',
            underline=0,
            font='-*-helvetica-*-r-*-*-*-180-*-*-*-*-*-*',
            command=keyvalcallbacks["optionmenufn"])

        # aLternate color example
        Command_button.menu.add_command(label='Quit',
                                        underline=0,
                                        background='red',
                                        activebackground='green',
                                        command=keyvalcallbacks["quitmenufn"])
        self.menubar.add_cascade(label='File', menu=Command_button.menu)

        #self.menubar.add_cascade(label='View', menu=self.view_menu)
        # add a menubar menu to select option for dumping all elements, or only Dups or only Unique
        self.dumpselect_menu = Menu(self.menubar)
        self.dumpradioval = IntVar()
        self.dumpradioval.set(1)
        self.dumpselect_menu.add_radiobutton(
            label="Dump All", value=1, variable=keyvalstatevars['DumpOptions'])
        self.dumpselect_menu.add_radiobutton(
            label="Dump only unique",
            value=2,
            variable=keyvalstatevars['DumpOptions'])
        self.dumpselect_menu.add_radiobutton(
            label="Dump only Dups",
            value=3,
            variable=keyvalstatevars['DumpOptions'])
        self.dumpselect_menu.add('separator')
        self.dumpselect_menu.add_command(
            label='Default header log path',
            underline=0,
            background='red',
            activebackground='green',
            command=keyvalcallbacks["dumppath1menufn"])
        self.menubar.add_cascade(label='Dump File options',
                                 menu=self.dumpselect_menu)

        self.dumpdbselect_menu1 = Menu(self.menubar)
        self.menubar.add_cascade(label='Dump DB selection',
                                 menu=self.dumpdbselect_menu1)
        # add a placeholder for this menu with zero databases added in memory
        # this DUMP DB menu will be dynamically extended as new databases are scanned.
        #  the parent owner of the class instance must call the add method of this class to extend the menu
        self.dumpdbselect_menu1.add_command(label="<None>")
        # <None> is the 0th entry...
        self.dumpdbselect_menu1.entryconfig(0, state=DISABLED)
        # set a flag just so we can delete this <None> placeholder during first menu add operation
        self.newmenu = True

        self.dumpvolselect_menu1 = Menu(self.menubar)
        self.menubar.add_cascade(label='Dump Volume selection',
                                 menu=self.dumpvolselect_menu1)
        # add a placeholder for this menu with zero databases added in memory
        # this DUMP DB menu will be dynamically extended as new databases are scanned.
        #  the parent owner of the class instance must call the add method of this class to extend the menu
        self.dumpvolselect_menu1.add_command(label="<None>")
        # <None> is the 0th entry...
        self.dumpvolselect_menu1.entryconfig(0, state=DISABLED)
        # set a flag just so we can delete this <None> placeholder during first menu add operation
        self.newvolmenu = True

        # menu begins with only one  option- dump all
        #self.dumpdbselect_menu1.add_checkbutton(label="<None>", onvalue=False, offvalue=False, variable=self.var01)#variable=self.show_all)

        #
        # add a menubar menu for the app info Help/ about/ etc
        self.show_all = IntVar()
        self.show_all.set(True)
        self.vendorhelp_menu = Menu(self.menubar)
        self.help001 = {"Help": self.show_all}
        # menu begins with only one  option- dump all
        self.vendorhelp_menu.add_checkbutton(
            label="Show _Hints",
            onvalue=True,
            offvalue=False,
            variable=keyvalstatevars['HintsFlag'])
        self.vendorhelp_menu.add_checkbutton(
            label="Monitor volumes (10second timer activity)",
            onvalue=True,
            offvalue=False,
            variable=keyvalstatevars['TimerCheck'])
        self.vendorhelp_menu.add_command(label='Help...',
                                         underline=0,
                                         command=keyvalcallbacks["helpmenufn"])
        # separator example
        self.vendorhelp_menu.add('separator')
        self.vendorhelp_menu.add_command(label='Dbg info dump...',
                                         underline=0,
                                         command=self.MGmenudumpdbg)
        self.vendorhelp_menu.add_checkbutton(
            label='Dbg runtime info@HIGH',
            onvalue=True,
            offvalue=False,
            variable=keyvalstatevars['DebuginfohighFlag'])
        self.vendorhelp_menu.add_command(
            label='About...',
            underline=0,
            command=keyvalcallbacks["aboutmenufn"])
        self.menubar.add_cascade(label='Help', menu=self.vendorhelp_menu)

        # register all this with the callers parent window frame
        self.parent.config(menu=self.menubar)
Esempio n. 11
0
root = Tk()
root.title('Menu button example')


def menu_sel():
    """Check and report on menu selection."""
    if VAR1.get():
        print('V2 ticked')
    if VAR2.get():
        print('V3 ticked')


menu_btn = Menubutton(root, text='Choose Python Version', bg='skyblue')
menu_btn.grid(padx=20, pady=20)

menu_btn.menu = Menu(menu_btn, tearoff=0)
menu_btn['menu'] = menu_btn.menu

VAR1 = IntVar()
VAR2 = IntVar()

menu_btn.menu.add_checkbutton(label='Python V2',
                              variable=VAR1,
                              command=menu_sel)
menu_btn.menu.add_checkbutton(label='Python V3',
                              variable=VAR2,
                              command=menu_sel)
menu_btn.grid()

root.mainloop()