

PythonでWindowsアプリのUIを作っています。使用モジュールはTkinterです。

デフォルトではラジオボタンの表示がとても小さいので、大きくしたいのですが、どのようにすればよいかわかりません。  
ご存じの方いらっしゃいましたらアドバイスいただけませんか？

[code]

    import tkinter as tk
    import ctypes
    
    class showUI:
        
        def __init__(self):
            
            font_general = ('Meiryo UI', '14', 'normal')
    
            try:
                ctypes.windll.shcore.SetProcessDpiAwareness(True)
            except:
                pass
            
            root = tk.Tk()
            root.title('sample')
            root.geometry('500x100')
            
            select = tk.IntVar()
            select.set(0)
            radio0 = tk.Radiobutton(
                root,
                variable=select,
                value=0,
                text='Radio A',
                font=font_general
            )
            radio1 = tk.Radiobutton(
                root,
                variable=select,
                value=1,
                text='Radio B',
                font=font_general
            )
            radio0.place(relx=0.1, rely=0.05)
            radio1.place(relx=0.5, rely=0.05)
    
            root.mainloop()
            self.select = select.get()
            root.destroy()
        
    if __name__ == '__main__':
        showUI()
    
[/code]


CC BY-SA 4.0
2021-08-30T05:34:39.710
81112
2021-08-30T16:12:00.780
2021-08-30T16:12:00.780
3060
47976
question
python tkinter
Tkinter でラジオボタンの大きさを変更するには？


これらの記事を応用することで、あらかじめ用意した任意のサイズの画像へ切り替えることが出来ました。  
[How do you change ttk.Radiobutton
circle/diamond?](https://stackoverflow.com/q/65372273/9014308)  
[Can't change button font size in
tkinter](https://stackoverflow.com/q/49878388/9014308)  
[tkinter.(ttk.)Radiobutton【ラジオボタン
ウィジェット】](https://cercopes-z.com/Python/stdlib-tkinter-widget-radiobutton-
py.html)

[code]

    import tkinter as tk
    from tkinter import ttk  #### ttk追加
    import ctypes
    
    class showUI:
        def __init__(self):
            try:
                ctypes.windll.shcore.SetProcessDpiAwareness(True)
            except:
                pass
            
            root = tk.Tk()
            root.title('sample')
            root.geometry('500x100')
            
            select = tk.IntVar()
            select.set(0)
            
            #### Off/Onのイメージ読み取りとラジオボタンへのスタイル設定
            style = ttk.Style(root)
            with open('Off.png', 'rb') as f:
                data_unselected = f.read()
            img_unselected = tk.PhotoImage("radiobutton_unselected", master=root, data=data_unselected)
            with open('On.png', 'rb') as f:
                data_selected = f.read()
            img_selected = tk.PhotoImage("radiobutton_selected", master=root, data=data_selected)
            style.element_create('custom.indicator', 'image', "radiobutton_unselected",
                                 ('selected', '!disabled', "radiobutton_selected"))
            style.layout(
                'TRadiobutton',
                [('Radiobutton.padding',
                  {'sticky': 'nswe',
                   'children': [('custom.indicator', {'side': 'left', 'sticky': ''}),
                                ('Radiobutton.focus',
                                 {'side': 'left',
                                  'sticky': '',
                                  'children': [('Radiobutton.label', {'sticky': 'nswe'})]})]})])
            ### ttkでのフォント設定に変更
            style.configure('TRadiobutton',font=('Meiryo UI',14,'normal'))
            
            radio0 = ttk.Radiobutton( #### tkからttkに変更、フォントはstyleで変更
                root,
                variable=select,
                value=0,
                text='Radio A'
            )
            radio1 = ttk.Radiobutton( #### tkからttkに変更、フォントはstyleで変更
                root,
                variable=select,
                value=1,
                text='Radio B'
            )
            radio0.place(relx=0.1, rely=0.05)
            radio1.place(relx=0.5, rely=0.05)
            
            root.mainloop()
            self.select = select.get()
            root.destroy()
    
    if __name__ == '__main__':
        showUI()
    
[/code]

Off画像

[![Off画像](https://i.stack.imgur.com/3La16.png)](https://i.stack.imgur.com/3La16.png)

On画像

[![On画像](https://i.stack.imgur.com/B3ouE.png)](https://i.stack.imgur.com/B3ouE.png)

表示結果

[![表示結果](https://i.stack.imgur.com/fYeuP.png)](https://i.stack.imgur.com/fYeuP.png)


CC BY-SA 4.0
2021-08-30T14:46:09.973
81122
2021-08-30T14:46:09.973
26370
81112
answer