1
私はPythonをまだ学んでいるので、コードの残りの部分に欠陥があるかもしれませんが、私の主な問題は、WoodとStoneの変数が0のときにこのボタンを無効にできます。 button.config(state = DISABLED)コマンドを実行するwhileステートメントを使用しようとしました。変数が0のときにTkinterボタンを無効にする
from tkinter import *
from tkinter import tkk
class main:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.CraftPickaxe = Button(frame, text = 'Pickaxe', command = self.craftPick)
self.CraftPickaxe.pack()
###RESOURCES###
self.wood = 1
self.stone = 1
self.pickaxe = 0
def craftPick(self):
self.stone -= 1
self.wood -= 1
self.pickaxe += 1
print(self.stone)
print(self.wood)
print(self.pickaxe)
def loop(self):
while True:
if self.stone < 0 and self.wood < 0:
self.CraftPickaxe.config(state=DISABLED)
elif self.stone > 0 and self.wood > 0:
self.CraftPickaxe.config(state=NORMAL)
root = Tk()
b = main(root)
root.mainloop()
EDIT: 何だと思いますが、今起こっているが、そのは常にそれがゼロを下回るかどうかを確認するために、変数をチェックしていないので、全く無効ではないということです。私が考えているのは、 craftPickで動作するチェックです。
これは問題の1つであったようです。 私は今何が起こっていると考えていますが、変数がゼロ以下になっていても無効にならないかどうかを常にチェックしているわけではありません。 – Joi
あなたの質問を解決したら、upvoteを覚えて正しい答えとして選択してください:)私はさらにそれを助けることができるように詳細 – Juanvulcano
はい、ありがとう、私は今それについて考えているときは非常に簡単だと思う。正解として選択: – Joi