### 完成予定品
Tkinterを使用し、タブ機能(notebook)を付ける。
現在のコーディング状況
class Gui(tk.Frame) からタブ機能のついた画面を一つ表示しようとしています。
class Gui(tk.Frame) のコンストラクタ内にある、Tab(ttk.Notebook) のコンストラクタにより、タブを画面を実装しようとしています。
エラー内容
エラー内容の解釈として、Tab(ttk.Notebook) は、Frameクラスのオブジェクトしか受け付けない。と考えております。
ですが、Tab(ttk.Notebook) へ渡している tab1 = tk.Frame(self.master) の tab1 は <class 'tkinter.Frame'> であり、混乱しております。
text
1Traceback (most recent call last): 2 File "app.py", line 28, in <module> 3 app = Gui(master=root) 4 File "app.py", line 16, in __init__ 5 Tab(master=tab) 6 File "app.py", line 21, in __init__ 7 super.__init__(master) 8TypeError: descriptor '__init__' requires a 'super' object but received a 'Frame'
実行環境
・windows10 コマンドプロンプト
・Python3.8.3
Python
1 2#coding:utf-8 3 4import tkinter as tk 5from tkinter import ttk 6 7 8class Gui(tk.Frame): 9 def __init__(self, master): 10 super().__init__(master) 11 self.pack() 12 13 self.master.geometry("1100x600") 14 self.master.title("NoteBook Test") 15 16 tab = tk.Frame(self.master) 17 Tab(master=tab) 18 19 20class Tab(ttk.Notebook): 21 def __init__(self, master = None): 22 super.__init__(master) 23 24 self.add(master, text="tab") 25 26 27if __name__ == "__main__": 28 root = tk.Tk() 29 app = Gui(master=root) 30 app.mainloop() 31
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/05 16:50
2020/07/07 01:58
2020/07/07 03:53