从Python窗口引入对话框窗口

时间:2018-03-29 20:38:27

标签: python-3.x tkinter tk

在打开主应用程序窗口之前,我的应用程序有两个单独的对话框窗口。我无法弄清楚如何从黑色python屏幕打开第二个对话窗口(日历)(我为我的无知而道歉,我不知道这个名字)。

“rundate”中包含的消息框首先打开。如果选择“否”,则打开app_window。这是隐藏的app_window

conn = pyodbc.connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq='+db)
cur = conn.cursor()

app_window = tk.Tk()
app_window.geometry("1x1+0+0")     
app_window.overrideredirect(True)  
app_window.transient()    


def rundate():
    result = tkinter.messagebox.askyesno(title="Rundate", message="back 7 days?")
    if result == True:
        end = date.today()
        start = date.today() - timedelta(7)
        daterange = [pd.date_range(start, end)]
        for single_date in daterange:
            x = single_date.strftime("%m/%d/%Y")
        rundate = x
        print(rundate)
        return rundate
    else:
        app_window.wm_title("Pick1")
        app_window.geometry("250x150+100+100")
    app_window.overrideredirect(False)
    #app_window.mainloop()
    cm = pick1.CalendarFrame(app_window)
    cm.grid()
    app_window.wait_variable(cm.wait_for_result)
    return cm.rundate

 rundate = rundate()
 print(rundate)

然后是一大堆用于查询的代码,然后是什么

在消息框返回“是”之后,或者从日历中选择日期,然后启动界面

# Initiate interface    

root = Tk() 
master = Frame(root, name='master') 
master.pack(fill=BOTH) 
root.geometry("800x800+300+100")
root.title('WeeklyReport')

menu_bar = Menu(root)

def exit():
root.destroy()

root.wait_window

1 个答案:

答案 0 :(得分:0)

我终于通过添加“升降机”想出来了谢谢!

app_window = tk.Tk()
app_window.geometry("1x1+0+0")  
app_window.overrideredirect(True)  
app_window.transient()    

app_window.lift()