2017-02-07 7 views
0

ボタンを使用してコードの一部をアクティブにしたいとします。誰かがこれで私を助けることができればコードの特定の部分を「アクティブにする」方法

from tkinter import * 
window = Tk() 
window.title('Adventure') 
c = Canvas(window, height=360, width=640, bg='black') 
c.pack() 

system = 1 

def start(): 
    c.delete(anfang1) 
    anfangbutton.destroy() 

if system == 1: 
    anfang1 = c.create_text(320, 180, text='Adventure', fill='white', font=('Halvatica', 50)) 
    anfangbutton = Button(window, text='Start', command=start) 
    anfangbutton.place(x=320, y=250) # I want that if you press the button, start is activated and the value of "system" goes to 2, so the next part begins 
if system == 2: 
    anfang2 = c.create_text(320, 180, text='Adventure', fill='white', font=('Halvatica', 50)) 

は、私には理解されるか、別のものを持っている:あなたがボタンを押したときに、変数の値は、私のコードの別の部分を活性化し、他の量に設定されている、ように私は何かを試してみましたここで

+0

関数 'start'は変数' system'を変更することができます - 何が問題なのですか?あなたが何をしようとしているのかははっきりしていませんが、 'start()'が呼ばれたときに 'system'インクリメント(あるいはあなたが望むもの)を増やすことは難しくありません。 –

答えて

0

を行う方法は、コードですが、私は説明します:私は試してみて、問題に対処するためにやっていること

基本的に
def nextStage(): 
    #CODE# 

def start(): 
    c.delete(anfang1) 
    anfangbutton.destroy() 
    anfang2 = c.create_text(320, 180, text='Adventure', fill='white', font=('Halvatica', 50)) 
    #then button or code to move onto next "stage" 

def main(): 
    global anfang1 
    global anfangbutton 
    anfang1 = c.create_text(320, 180, text='Adventure', fill='white', font=('Halvatica', 50)) 
    anfangbutton = Button(window, text='Start', command=start) 
    anfangbutton.place(x=320, y=250) # I want that if you press the button, start is activated and the value of "system" goes to 2, so the next part begins 
main() 

は、二つのことです。

システム変数とIf/Elseステートメントを使用するのではなく、すべてを関数に入れました。 tkinterでは、ページの一番下にある最初のものから関数をビルドします。したがって、最後の「ステージ」または機能が上部に表示されます(これは、ボタンによって正しく参照されるようになります)。

次に、変数をグローバル化して、start()がボタンを破棄できるようにしました。

最も効果的ではありませんが動作しますか?

関連する問題