May-10-2020, 08:54 PM
I have a program and when the error message pops up, it needs to stay on top of the current window. But when the error box pops up, the window minimizes. How to keep window from minimizing when message box pops up?
from tkinter import * import tkinter as tk from tkinter import ttk import sqlite3 from tkinter import messagebox def enterroom(): enterroom = Toplevel() enterroom.title('Enter Room Inventory') enterroom.geometry("800x800+500+100") global entry1 global my_box global mycombo label1=Label(enterroom, text="Room#") label1.place(x=10, y=10) entry1 = Entry(enterroom, width=10) entry1.place(x=70, y=10) options = [ "Select Room Type", "NQ1 - Non Smoking Queen", "NQQ1 - Non Smoking Double Queen", "Q11 - Smoking Queen", "QQ1 - Smoking Double Queen", "NK1 - Non Smoking king", "K11 - Smoking King", "PNQ1 - Non Smoking Handi-Cap", "SK1 - Smoking Suit King", "SNK1 - Non Smoking Suite King", ] mycombo = ttk.Combobox(enterroom, width=40, value=options) mycombo.place(x=10, y=40) mycombo.current(0) my_box = Listbox(enterroom, height=30, width=30) my_box.place(x=500, y=20) boxlabel=Label(enterroom, text="Rooms Already Entered") boxlabel.place(x=500, y=0) conn = sqlite3.connect('roominventory.db') c = conn.cursor() c.execute("SELECT * FROM rooms") records = c.fetchall() for record in records: my_box.insert(END, record[0:1]) conn.commit() conn.close() entry1.focus() btnenterroom = Button(enterroom, text="Enter Room", width=10, command=setroom) btnenterroom.place(x=10, y=70) def setroom(): global j conn = sqlite3.connect('roominventory.db') c = conn.cursor() c.execute("SELECT * FROM rooms") records = c.fetchall() for record in records: j=0 j = int(entry1.get()) if j==record[0]: showerror() break if j!=record[0]: jamin = mycombo.get()[0:4] jamin = jamin.strip() conn = sqlite3.connect('roominventory.db') c = conn.cursor() c.execute("INSERT INTO rooms VALUES (:number, :type, :rate, :vacant, :clean, :ooo, :r1, :r2, :r3, :r4, :r5)", { 'number': entry1.get(), 'type': jamin, 'rate': 0, 'vacant': "Y", 'clean': "Y", 'ooo': "N", 'r1': "N", 'r2': "N", 'r3': "N", 'r4': "N", 'r5': 0, } ) conn.commit() conn.close() my_box.delete(0, END) conn = sqlite3.connect('roominventory.db') c = conn.cursor() c.execute("SELECT * FROM rooms") records = c.fetchall() for record in records: my_box.insert(END, record[0:2]) conn.commit() conn.close() mycombo.set("Select Room Type") entry1.delete(0, END) entry1.focus() def showerror(): messagebox.showwarning("Warning!", "You already entered this room#.") root = Tk() root.geometry("400x400") btn1=Button(root, text="Click to enter room", command=enterroom) btn1.pack() root.mainloop()