2017-12-15 9 views
1

私は、フレーム内のボタンがあります。ボタンにテキストを垂直方向に配置するにはどうすればよいですか?

self.b = tk.Button(self.subframe1, text="UPDATE", command = self.update)

このボタンのテキストが水平ではなく垂直方向にセンタリングされます。後者をすることは可能ですか?

+1

私のシステム・ボタン・ウィジェットでは、デフォルトでは水平方向と垂直方向の両方でそのテキストを中央に配置します。 – Nae

+2

[このページ](http://effbot.org/tkinterbook/button.htm#Tkinter.Button.config-method)によると、 'anchor'のデフォルトは実際に' CENTER'です... – gandreadis

+2

あなたは、予期しない動作の[最小限の例](https://stackoverflow.com/help/mcve)。 – Nae

答えて

0

@gandreadisさんがコメントしたように、anchorオプションを使用してジョブを行うことができます。ここで

は(Pythonの3.xでは)MCVEです:

import tkinter as tk 


class Test: 

    def __init__(self, master): 
     self.master = master 
     self.configure_gui() 
     self.create_widgets() 
     self.configure_widgets() 

    def configure_gui(self): 
     self.master.title("Button Text Centering") 
     self.master.geometry('300x100') 
     self.master.resizable(0, 0) 

    def create_widgets(self): 
     self.create_demo_button() 

    def create_demo_button(self): 
     self.btn_with_centered_text = tk.Button(self.master, text="Centered") 
     self.btn_with_centered_text.place(relx=0.5, rely=0.5, anchor=tk.CENTER) 
     self.btn_with_centered_text.config(bg="yellow") 

    def configure_widgets(self): 
     self.configure_btn_with_centered_text() 

    def configure_btn_with_centered_text(self): 
     self.btn_with_centered_text.config(bg="yellow", relief=tk.RAISED) 
     self.btn_with_centered_text.config(border="2px") 


def main(): 
    root = tk.Tk() 
    t = Test(root) 
    root.mainloop() 

if __name__ == '__main__': 
    main() 

はデモ:

enter image description here

関連する問題