#Home Window
class Window1(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
#Menu Bar Widgets
#<---------------------------------------------------->
#Port Scanner Window Code
def portscanner(self):
self.newWindow = tk.Toplevel(self.master)
self.app = Window2(self.newWindow)
def initUI(self):
self.parent.title("Multipurpose Security Tool")
menubar = Menu(self.parent)
self.parent.config(menu=menubar)
#Capture Menu Code
#<----------------------------------------------------->
captureMenu = Menu(menubar, tearoff=0,)
#Submenu Send Packet
#<----------------------------------------------------->
submenu = Menu(captureMenu, tearoff=0)
submenu.add_command(label="Send TCP Packet")
submenu.add_command(label="Send UDP Packet")
captureMenu.add_cascade(label="Send Packet", menu=submenu, underline=0)
captureMenu.add_separator()
#<----------------------------------------------------->
#Regular Menu Widgets under Capture
captureMenu.add_command(label="TCP Packet Analyzer")
captureMenu.add_separator()
captureMenu.add_command(label="UDP Packet Analyzer")
captureMenu.add_separator()
captureMenu.add_command(label="Port Scanner",command=self.portscanner)
captureMenu.add_separator()
captureMenu.add_command(label="Whois Lookup")
menubar.add_cascade(label="Capture", menu=captureMenu)
#<----------------------------------------------------->
def showMenu(self, e):
self.menu.post(e.x_root, e.y_root)
#Exit Code on MenuBar
def onExit(self):
quitquestion = tkinter.messagebox.askquestion("Quit","Are you sure you want to quit?")
if quitquestion == "yes":
self.quit()
#New Code on MenuBar
def new(self):
python = sys.executable
os.execl(python, python, * sys.argv)
#Port Scanner
class Window2(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI2()
这是我试图放置小部件的框架,但是当我运行它时它什么也没做。我正在使用PyCharm作为我的编辑。尝试制作小部件,以便用户可以与之交互。我想制作一个输入框和一个包含文本&#34; run&#34;的按钮。它在调试器中没有显示任何内容。
def initUI2(self):
self.frame = tk.Frame(self.master)
self.parent.title("Port Scanner")
self.parent.geometry("500x300+400+200")
self.runbutton = Button(self,text="Run")
self.runbutton.pack()
#Windows Settings
def main():
#<----------------------------------------------------->
root = Tk()
root.geometry("500x300+400+100")
app = Window1(root)
#Page 1 and Page 2 Tab
root.mainloop()
#<----------------------------------------------------->
if __name__ == '__main__':
main()
答案 0 :(得分:0)
GUI的全部内容都在窗口app
内。但是,您从未使用包,地点或网格将app
放在屏幕上,因此它仍然不可见。
由于app
似乎是根窗口中唯一的小部件,您可能希望在调用mainloop
之前添加此代码:
app.pack(fill="both", expand=True)
答案 1 :(得分:0)
在portscanner()
方法中,使用pack()
在屏幕上显示self.app
。
def portscanner(self):
self.newWindow = tk.Toplevel(self.master)
self.app = Window2(self.newWindow)
self.app.pack()