2017-04-21 1 views
0

との二乗のボタンがどのように私は二乗のボタンを作成するのですか?私はパックマネージャーを使用していますが、私はグリッドなどに変更したくありません。Tkinterの:パックマネージャー

from tkinter import* 
import time 

def close(): 
    root.destroy() 

root = Tk() 
root.configure(background="blue") 
root.attributes('-fullscreen', True) 

frame1 = Frame(root) 
frame1.pack(side=TOP, fill=X, anchor=N) 

close_button = Button(frame1, width=5, bg='red', fg='white', font=('Helvetica', 10), text='X', command=close) 
close_button.pack(side=RIGHT, anchor=E) 

frame2 = Frame(root, height=100, bg='red') 
frame2.pack(side=TOP, fill=X, anchor=N) 

video_button = Button(frame2, width=5, fg='white', font=('Helvetica', 10), text='X', command=close) 
video_button.pack(side=RIGHT, anchor=E) 

music_button = Button(frame2, width=5, bg='red', fg='white', font=('Helvetica', 10), text='X', command=close) 
music_button.pack(side=RIGHT, anchor=E) 

root.mainloop() 

ありがとうございます。

答えて

0

あなたは幅と高さが等しくなるようにしたいわけ?幅と高さが文字に設定されているため

ボタンが面白いです、それはあなたのフォントに依存します。

あなたは、画像を追加することによって、その動作をオーバーライドすることができますので、あなたは、ピクセル単位で辺の長さを設定することができます。 [OK]を

import tkinter as tk 

class SquareButton(tk.Button): 
    def __init__(self, master=None, **kwargs): 
     self.img = tk.PhotoImage() 
     side = kwargs.pop('side_length', None) 
     tk.Button.__init__(self, master, image=self.img, compound='center', **kwargs) 
     if side: 
      self.config(width=side, height=side) 

def close(): 
    root.destroy() 

root = tk.Tk() 

frame1 = tk.Frame(root) 
frame1.pack(side=tk.TOP, fill=tk.X, anchor=tk.N) 

close_button = SquareButton(frame1, side_length=200, bg='red', fg='white', font=('Helvetica', 10), text='X', command=close) 
close_button.pack(side=tk.RIGHT, anchor=tk.E) 

frame2 = tk.Frame(root, height=100, bg='red') 
frame2.pack(side=tk.TOP, fill=tk.X, anchor=tk.N) 

video_button = SquareButton(frame2, side_length=200, fg='white', font=('Helvetica', 10), text='X', command=close) 
video_button.pack(side=tk.RIGHT, anchor=tk.E) 

music_button = SquareButton(frame2, side_length=200, bg='red', fg='white', font=('Helvetica', 10), text='X', command=close) 
music_button.pack(side=tk.RIGHT, anchor=tk.E) 

root.mainloop() 
+0

は、今私はそれを得ました。しかしプリセットなしでtkinterをインポートすることは可能ですか? (私はtkinter import *から "tkinterを"書く "の代わりに) –

+0

実際には、サイズ設定がフォントに依存するということはとても馬鹿です。 –

+0

' from tkinter import * 'は"ワイルドカードのインポート "と呼ばれています。コードやバグを読みにくくなるため、悪い習慣とみなされ、PEP8に反対します。ですから、私はそれをお勧めしませんが、望むならば、すべてから 'tk.'接頭辞を削除することができます。 – Novel