2017-04-14 17 views
-2

私はTkinterを使って画面上に数字が表示されている場所で、変数counterが1つ下に降りてウィンドウのどこかをクリックすると、新しい値を表示する画面がリフレッシュされますcounterが1つ少ない。2ボタンオーバーラップPython Tkinter

「upClick」という名前の関数を呼び出す別のボタンを追加するのが好きです。この関数は既に存在していて、数字を1つ上にしてcounterに1を加算するだけです。

2番目のボタンを追加しても全く機能しません。

私は多くのことを試しています。私はここで助けを得ることができますか、誰かが正しい方向に私を向けることができます。ありがとう!

コード:

import tkinter, sys 

root = Tk() 
root.geometry("480x320") #Raspberry Pi touchscreen resolution 
root.title("Counter") 

counter = 30 

def upClick(): 
    counter += 1 
    mButton2.config(text = "", borderwidth = 0, highlightthickness=0, relief='ridge', pady = "100") 

def downClick(): 
    counter -= 1 
    mButton1.config(text = counter, borderwidth = 0, highlightthickness=0, relief='ridge', pady = "100") 

mButton1 = Button(text = counter, command = downClick, height = 4000, width = 320, font = ("Monospace", 200)) 
mButton1.pack() 

mButton2 = Button(text = "", command = downClick, height = 50, width = 50, font = ("Monospace", 10)) 
mButton2.pack() 

root.mainloop() 

おかげで、ブレンダン! (Python 3.6.1、Windows 10 64bit)

+0

:ボタンがオーバーラップするため

、あなたは置きますマネージャを使用することができます。ほとんどのtkinterチュートリアルは、あなたが望むことをやる方法をカバーするでしょう。 –

+0

@ BryanOakley私は実際に試しましたが、すぐに2つのボタンを動作させることができませんでした。 – James

+0

あなたが試したことを示してください。 –

答えて

2

両方のボタンを同時に使用できるようにするには、サイズとフォントサイズを小さくすることができます。

ボタンがどこに表示されるかをもっと知りたい場合は、他のジオメトリマネージャを見てください。 パックは本質的にある程度制限されており、あなたのケースでは十分ではないようです。あなたはこのような基本的な質問をする前にはTkinterを学習に少しの努力を配置する必要があり

def upClick(): 
    global counter 
    counter += 1 
    mButton1.config(text = counter, borderwidth = 0, highlightthickness=0, relief='ridge', pady = "100") 


def downClick(): 
    global counter 
    counter -= 1 
    mButton1.config(text = counter, borderwidth = 0, highlightthickness=0, relief='ridge', pady = "100") 

mButton1 = Button(text = counter, command = downClick, height = 4000, width = 320, font = ("Monospace", 200)) 
mButton1.pack() 

mButton2 = Button(text = "", command = upClick, height = 5, width = 5, font = ("Monospace", 10)) 
mButton2.place(anchor="nw") 
+0

はい、2番目のボタンの '.place(anchor =" nw ")'は動作するはずですが(とにかく小さくする必要があるようです) – siamezzze

+0

ありがとうございます!私はupClickにmButton1.config(text = counter、borderwidth = 0、highlightthickness = 0)を追加しなければならなかったが、うまくいきました! – James

+0

将来の読者のために明確にするために更新されました。 うまくいきました:) – siamezzze