【发布时间】:2017-03-11 10:21:03
【问题描述】:
我必须使用 tkinter 库来创建 GUI。
我有这个代码:
# -*- coding: UTF-8 -*-
import tkinter as tk
class Application(tk.Frame):
resx=1600
resy=900
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.pack(fill="both", expand=1)
self.createWidgets()
master.minsize(self.resx, self.resy)
master.maxsize(self.resx, self.resy)
def createWidgets(self):
self.hi_there = tk.Button(self)
self.hi_there["text"] = "Create new window"
self.hi_there["command"] = self.PlayMode
self.hi_there.pack(side="top")
def ShowMenu(self, master):
print("Here I need DELETE master, in my case PlayM")
def PlayMode(self):
PlayM = tk.Tk()
PlayM.minsize(self.resx, self.resy)
PlayM.maxsize(self.resx, self.resy)
PlayM.title("Game")
bf= tk.Frame(PlayM, bg="blue")
bf.pack(side="bottom", fill=tk.X, expand = 1)
lbTEST=tk.Label(bf)
lbTEST["text"] = "TESTING"
lbTEST.pack()
mf = tk.Frame(PlayM,bg="red")
mf.pack(side="right", fill=tk.Y, expand=1)
self.LogOut = tk.Button(mf)
self.LogOut["text"] = "LOGOUT"
self.LogOut.pack()
self.LogOut["command"] = self.ShowMenu(PlayM)
root = tk.Tk()
app = Application(master=root)
app.master.title("Useless think")
app.mainloop()
我需要这样的图片:
我不知道为什么我的代码不起作用。当我打包我的bf(底部框架)并设置side = "bottom",但它出现在屏幕中间。为什么?
当我打包 mf(菜单框架)时,与 side = "right" 相同
我还有一个问题。关于注销按钮。我设置了命令的方法"ShowMenu"。
当我运行我的代码时,这个方法只会自动启动一次,但是当我点击按钮时没有任何反应。为什么?
【问题讨论】:
标签: python button tkinter frame pack