2013-11-15 20 views
5

以下のコードを使用してボタンを作成し、高さと幅を変更しようとしていますが、実際のボタンは物理的に表示されません。しかし、あなたはそれが新しいウィンドウを開くことになっていると仮定されている領域上にマウスを置く場合。何か案は?が物理的に表示されていボタン:あなたの最初の質問についてはtkinterボタンの高さと幅

import sys 
from tkinter import * 

#main menu 
def mmWindow(): 
    mmWindow=Tk() 
    mmWindow.geometry('600x600') 


#first window 
mWindow= Tk() 
mWindow.geometry('1920x1080+0+0') 
mWindow.title('DMX512 Controller') 

wtitle = Label (mWindow, text = "Pi DMX", fg = 'blue') 
wtitle.place(x = 640, y = 100) 

#main menu button 
mmbutton = Button (mWindow, text = "Main Menu",command = mmWindow) 
mmbutton.place(x=200, y = 200) 
mmbutton.config(width=200, height=200) 
+0

実は、それは物理的に示しています。問題は、それが非常に大きいので、残りのウィンドウと区別することが難しいということです。 – iCodez

+0

学校少年の誤り!ありがとう、今私の次の問題は、私は幅を変更することができますが、高さの元のエラーが発生し、ボタンの実際の物理サイズは変更されませんが、 'クリック'領域は.......あなたはすでに推測しているかもしれませんPythonにnoob。 – user2996828

+0

私はあなたがしていることについて少し混乱しています。なぜボタンを作って、それをウィンドウの上に置いた後に高さ/幅を1行に変更したいのですか?ここで何をしようとしていますか?あなたは何か特別なことをしようとしているのですか、あるいはウィンドウに置かれたカスタムサイズのボタンを手に入れようとしていますか? – iCodez

答えて

3

。問題は、それが非常に大きいので、残りのウィンドウと区別するのが難しいということです。

これで、最終的な目標はボタンのサイズを変更することだと言いました。そうであれば、あなたは正しい道にいます:これにはheightwidthオプションを使用します。ボタンがとても巨大にしないでください

  1. しかし、私はあなたのコードにいくつかの変更を行うことをお勧めします。非常に大きなモニターでさえ、ボタンをそのサイズにすることは過度の方法です。

  2. ウィンドウをあまり大きくしないでください。誰も画面全体を占めるアプリケーションを望んでいない。
  3. .placeの代わりに.gridを使用してください。そうすることで、必要な場所にウィジェットを配置しやすくなります。
  4. ボタンを作成するときに、その後にではなく、heightとのオプションを設定します。
  5. ここにsysをインポートする必要はありません。必要なものだけをインポートしてください。
  6. from tkinter import *のようにインポートしないでください。そうすることで、簡単に上書きできるグローバルな名前空間に名前の束がダンプされます。ここで

スクリプトの私のバージョンです:

import tkinter as tk 

def mmWindow(): 
    mmWindow = tk.Tk() 
    mmWindow.geometry('600x600') 

mWindow = tk.Tk() 
# You can set any size you want 
mWindow.geometry('500x500+0+0') 
mWindow.title('DMX512 Controller') 

wtitle = tk.Label(mWindow, text="Pi DMX", fg='blue') 
wtitle.grid(row=0, column=1) 

# You can set any height and width you want 
mmbutton = tk.Button(mWindow, height=5, width=20, text="Main Menu", command=mmWindow) 
mmbutton.grid(row=1, column=1) 

mWindow.mainloop() 
+0

私はちょうどあなたのコードをコピーし、それを実行した、私は高さを変更しようとしたとアウトラインの同じサイズを維持するので、ボタンのサイズを変更しない、幅はあるが高さはない... – user2996828

+0

@ user2996828 - ええと、なぜそれがわからないのだろうか?私が与えたコードは、通常のOS(Windows、Mac、Linux)で動作する。しかし、あなたは「タッチスクリーン」と言っていましたが、これは何らかのタブレットを暗示しています。私はタブレットを持っていないので、これをトラブルシューティングできません。 – iCodez

+0

おそらくそれは私のセットアップです。タッチスクリーン、IDLE pythonバージョン3.3.2とtkバージョン8.5.14を実行している私のMac、私はそれをwと思った幅が変わって高さが変わったのは奇妙なものです:-s – user2996828