不运行后的tkinter

2024-04-20 02:47:34 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,伙计们,我一直试图在22222端口上托管一个本地服务器,当有人在浏览器上打开它时,我得到一个msgbox说是/否-如果你单击是,它将接受连接并显示索引.html基本上,如果你点击“否”,它将返回什么或什么,无论如何,它工作得很好,但

我试图触发第二个msgbox后,你点击第一个延迟(后命令),当你访问第一次,并点击是,它服务的网页,但建立的消息不显示,如果你刷新网页比它重新触发建立的消息,然后再问你是否要接受连接(错误警报笑)

基本上您需要运行此代码打开127.0.0.1:22222,单击“是”,您将不会看到“确定”消息框,除非您再次执行所有这些操作

import sys
from http.server import HTTPServer, SimpleHTTPRequestHandler, test as Brain_Link
import tkinter
import tkinter.messagebox as mbox
window = tkinter.Tk()
window.wm_withdraw()
window.attributes("-topmost", True)

def Start_Brain_Link(*args):
    Brain_Link(*args, port=22222)

def its_ok():
    mbox.showinfo('A.I','Brain-Link Established!')

def its_bad():
    mbox.showinfo('A.I','Brain-Link Attemp Blocked!')

class CORSRequestHandler(SimpleHTTPRequestHandler):
    def end_headers (self):
        if mbox.askquestion("Warning!", self.client_address[0]+" Requested Brain-Link!", icon='warning') == 'yes':
                self.send_header('Access-Control-Allow-Origin', '*')
                SimpleHTTPRequestHandler.end_headers(self)
                window.after(1000,its_ok)
        else:
                window.after(1000,its_bad)

if __name__ == '__main__':
    Start_Brain_Link(CORSRequestHandler, HTTPServer)

Tags: importself消息网页tkinterdefaslink