57600


ttk.Checkbuttonを使用し、初期値をセットしようとしているのですが、不定な状態になってしまいます。（チェックボックス内に黒い矩形がある状態）

この状態になる条件はどのような場合でしょうか  
サンプルコードは、不定な状態を知っていただくためのコードです。このコードでは、chk_viewをself.chk_viewにすれば、初期値どおりにセットされます。このことから推察すると、chkbutton表示時に、tk.BooleanVar()のオブジェクトが無効である場合に不定な状態になると思うのですが。

問題となっているコードでは、tk.BooleanVar()のインスタンスは、selfで宣言されておりますが、不定な状態で表示されてしまいます。

ご存知の方がいらっしゃれば、ご教示をお願いします。

サンプルコード

[code]

    # coding: UTF-8
    import tkinter as tk
    from tkinter import ttk
    
    class CreateScreen(object):
        def createMainWindow(self):
    
            obj = ttk.tkinter.Tk() 
    
            obj.geometry('300x200')
    
            return obj
    
        def _Dialog(self, parent):
            dev_dialog = tk.Toplevel(parent)
            dev_dialog.geometry('500x400')
    
            _InFrame_ = ttk.Frame(
                dev_dialog,
                )
    
            chk_view = tk.BooleanVar()
            chk_view.set(False)
    
            chkbutton = ttk.Checkbutton(_InFrame_,text = 'chk',variable = chk_view)
            chkbutton.pack()
            _InFrame_.pack()
            dev_dialog.resizable(0,0)
            dev_dialog.grab_set()
    
    
    if __name__ == '__main__':
        screen_obj = CreateScreen()
    
        MainWindow_obj = screen_obj.createMainWindow()
    
        screen_obj._Dialog(MainWindow_obj)
        MainWindow_obj.mainloop()
    
    
[/code]


CC BY-SA 4.0
2019-08-26T02:21:01.670
57598
2020-05-18T12:00:30.070
32891
question
python3 tkinter
Python ttk.Checkbutton 初期状態の設定


すみません。タイプミスが原因でした。  
問題となっているコードでは、引数を渡すのにメソッドを渡していたことが判明しました。  
そのため、不定として扱われたようです。


CC BY-SA 4.0
2019-08-26T02:45:54.733
57600
2019-08-26T02:45:54.733
32891
57598
answer