cannot use geometry manager grid inside .!toplevel which already has slaves managed by pack
以下のコードで↑のエラーが出ます
python
1 global settei_butto 2 global auto_up 3 global users 4 global all_users 5 6 tki_settei_log = tkinter.Toplevel() 7 tki_settei_log.geometry('300x300') 8 tki_settei_log.title('設定') 9 # Canvas Widget を生成 10 canvas = tkinter.Canvas(tki_settei_log) 11 12 # Top Widget上に Scrollbar を生成して配置 13 bar = tkinter.Scrollbar(tki_settei_log, orient=tkinter.VERTICAL) 14 bar.pack(side=tkinter.RIGHT, fill=tkinter.Y) 15 bar.config(command=canvas.yview) # ScrollbarでCanvasを制御 16 17 # Canvas Widget をTopWidget上に配置 18 canvas.config(yscrollcommand=bar.set) # Canvasのサイズ変更をScrollbarに通知 19 canvas.config(scrollregion=(0,0,500,500)) #スクロール範囲 20 canvas.pack(side=tkinter.LEFT, fill=tkinter.BOTH, expand=True) 21 22 # Frame Widgetを 生成 23 frame = tkinter.Frame(canvas) 24 25 # Frame Widgetを Canvas Widget上に配置 26 canvas.create_window((0,0), window=frame, anchor=tkinter.NW, width=500, height=500) 27 28 # Frame Widget上に各buttonを表示 29 global users 30 global all_users 31 users=subprocess.run(['powershell.exe', '-command', '(Get-WmiObject Win32_UserAccount).name'],encoding='utf-8',capture_output=True) 32 all_users=users.stdout.split() 33 34 # ラジオボタン判定変数作成 35 settei_button = tkinter.IntVar() 36 settei_button.set(auto_up) 37 38 # auto up 案内 39 auto_up_ravel = tkinter.Label(tki_settei_log,text='PCを立ち上げたときと同時にこのアプリも起動する') 40 auto_up_ravel.grid(column=0, row=0, sticky=tkinter.W) 41 42 # ONOFFラジオボタン 43 auto_on = tkinter.Radiobutton(tki_settei_log, value=0, variable=settei_button, text='ON') 44 auto_on.grid(column=0, row=1, sticky=tkinter.W) 45 auto_off = tkinter.Radiobutton(tki_settei_log, value=1, variable=settei_button, text='OFF') 46 auto_off.grid(column=0, row=2, sticky=tkinter.W) 47 48 # buttonステータス初期化 49 a = [tkinter.BooleanVar() for _ in range(3)] 50 z = [tkinter.Checkbutton()] * len(all_users) 51 52 # アカウントのチェックボタン 53 for i in range(0,len(all_users)): 54 z[i] = tkinter.Checkbutton(canvas, text=all_users[i]) 55 z[i].grid(column=0, row=i+3, sticky=tkinter.W) 56 57 tki_settei_log.mainloop()
変えたくないこと
チェックボタンはgrid,もしくはそれと同じ機能を持つ文 ということ。
環境
python3.8.3rc1
windows10home
pip無し
全文
https://skysoulinc.web.fc2.com/text_kyouyuu/todo_mondaiten.html
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/07 11:01
2020/06/07 11:02
2020/06/07 12:01