gui类有两个程序

时间:2018-12-02 17:35:46

标签: python oop user-interface logging tkinter

我正在尝试通过一个按钮来制作一些示例GUI tkinter,以尝试服务器状态,如果可以运行,请单击按钮后启动销毁gui并启动一些向我发送文件文本的功能。我已经制作了gui和服务器连接测试按钮,但不知道如何销毁gui和启动功能。非常感谢:)

from tkinter import *
import requests, os

class form():
root = Tk()
wel = Label(root,text="Welcome")
serv = Entry(root,width=40)

def checkConn():
    if(requests.get(serv.get()).status_code==200):
        print("Succesfull")

def start(self):
    root.destroy()

prov = Button(root,text="Proveri",width=35, command = checkConn)
zap =  Button(root, text ="Zapocni",width=35,command =start)

wel.pack()
serv.pack()
prov.pack()
zap.pack()

root.mainloop()




form()

1 个答案:

答案 0 :(得分:1)

我建议使用__init__()函数来设置GUI以及类变量。我以编写代码的方式重写了您的代码,但没有请求位,只是为了显示GUI功能。

from tkinter import *
import requests

class form():
    def __init__(self, master):
        self.master = master
        self.serv_text = StringVar()    # StringVar to hold entry value
        wel = Label(root, text="Welcome")
        serv = Entry(root, width=40, textvariable=self.serv_text)
        prov = Button(self.master, text="Proveri", width=35,
                      command=self.checkConn)
        zap =  Button(self.master, text ="Zapocni", width=35,
                      command=self.start)
        wel.pack()
        serv.pack()
        prov.pack()
        zap.pack()

    def checkConn(self):
        if(requests.get(self.serv_text.get()).status_code==200):
            print("Succesfull")
        else:
            print('miss')

    def start(self):
        self.master.destroy()

root = Tk()
form(root)
root.mainloop()

您将在Best way to structure a tkinter application中找到更多示例和讨论。