簡體   English   中英

代碼運行但Tkinter窗口保持空白

[英]Code runs but Tkinter window stays blank

我遇到的問題是,即使執行,tkinter窗口也保持空白。 作為附帶問題,該窗口不會刷新以更新“操作”復選框。

from tkinter import *
Pieces = {}
Actions =[]
class GameCreation(Frame):
    def __init(self,master):
        super(GameCreation,self).__init__(master)
        self.grid()
        self.CreatePiece()
   #Creating pieces function 
    def CreatePiece(self):
        Label(self,text ="What piece are we working with?").grid(row =0,
                                                             column = 0,
                                                             sticky = W)
        self.piece_entry = Entry(self)
        self.piece_entry.grid(row =0,
                          column = 1,
                          sticky = W)

        Label (self, text = "Tick all the actions which the piece has").grid (row =1,
                                                                          column = 0,
                                                                          sticky = W)
        self.Actions = BooleanVar()
        self.Actions.set(None)

    column = 0
    row = 4
        for action in Actions:
            Checkbutton(self,text = action, variable = self.checkButton, value = action).grid( row = row,
                                                                                           column = column,
                                                                                           sticky = W)
            if column == 5:
                row +=1
                column = 0
            else:
                column +=1
        Button(self,text = "Add action", command = self.AddAction).grid(row = 1,
                                                                    column = 0,
                                                                    sticky = W)
        self.action_entry = Entry(self)
        self.action_entry.grid(row = 1, column = 1, sticky = W)


        Button (self, text = "Create piece and it's actions", command = Add_to_dict).grid(row =2,
                                                                                      column = 0,
                                                                                      sticky = W)
        self.Add_dict = Text(self, width =10, height = 2, wrap = WORD)
        self.Add_dict.grid( row = 3, column = 0, columnspan = 4)

此功能應添加到“動作”列表中

    def addAction(self):
        action = self.action_entry.get()
        Actions.append(action)

此功能應僅打印作品的名稱和為其選擇的動作

    def Add_to_dict(self):
        actions = Actions.get()
        piece = piece_entry.get()
        rules = piece, ":", actions
        self.Add_dict.delete(0.0,END)
        self.Add_dict.insert(0.0,rules)

您需要使用__init__ ,而不是__init

另外,如果您使用的是BooleanVar ,則必須將其設置為TrueFalse ,而不是None

self.Actions.set(False)

另外,您有一個名為addAction的方法,但是您像self.AddAction一樣調用它,並且您有一個名為Add_to_dict的方法,就像Add_to_dict而不是self.Add_to_dict一樣被調用。

最后,您似乎沒有在任何地方創建GameCreation的實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM