【PYTHON】リストボックスのスクロールバーの設置場所がうまくいかない

実現したいこと

Notebookを使用して、複数のタブを設けています。
タブ2にスクロールバー付きのリストボックスを配置しようと考えています。

発生している問題・分からないこと

どうやってもスクロールバーがリストボックスの右側に設置されてしまいます。

原因が分かればご教示頂けませんでしょうか。
お手数おかけしますが宜しくお願い致します。

該当のソースコード

Python

1from posixpath import split 2import tkinter as tk 3from tkinterdnd2 import *4from tkinter import *5 6from tkinter import READABLE, ttk 7from tkinter.constants import COMMAND, DISABLED, FALSE, NORMAL 8from tkinter import filedialog 9from tkinter import messagebox 10import PyPDF2 11from PyPDF2 import PdfReader 12import os 13 14def add_listbox_tb2(event): 15 event.data = event.data.strip("{").strip("}")16 eventdatas = event.data.split("} {")17 eventdatas = [i for i in eventdatas if i.endswith('.pdf')]18 #昇順に変更19 eventdatas.sort() 20 21 if len(eventdatas)>0:22 for i in eventdatas:23 listbox_tb2.insert("end",i )24 25# メインウィンドウを作成26root = TkinterDnD.Tk()27# ウィンドウのサイズを設定28root.geometry('460x430')29# 画面タイトル30root.title('test')31 32# Frameウィジェットの生成33frame = Frame(root)34# ウィジェットの配置35frame.place(x=15, y=120)36 37# メインウィンドウにNotebookを作成38notebook = ttk.Notebook(root)39 40# Notebookに関するフレームを3つ作る41tab1 = tk.Frame(notebook)42tab2 = tk.Frame(notebook)43tab3 = tk.Frame(notebook)44tab4 = tk.Frame(notebook)45 46 # Notebookに対してtab1, tab2, tab3をそれぞれ追加47notebook.add(tab1, text="タブ1", padding=3)48notebook.add(tab2, text="タブ2", padding=3)49notebook.add(tab3, text="タブ3", padding=3)50notebook.add(tab4, text="タブ4", padding=3)51notebook.pack(expand=1, fill="both")52 53# listbox_tb2ウィジェットの生成54listbox_tb2 = tk.Listbox(tab2, width=50, height=15, selectmode=EXTENDED)55listbox_tb2.drop_target_register(DND_FILES)56listbox_tb2.dnd_bind('<<Drop>>', add_listbox_tb2)57 58listbox_tb2.pack(side=LEFT, fill=X)59 60# listbox_tb2ウィジェットに水平方向のスクロールバーを追加61scroll_x = tk.Scrollbar(tab2, orient=HORIZONTAL,command=listbox_tb2.xview)62listbox_tb2.configure(xscrollcommand=scroll_x.set)63 64# listbox_tb2ウィジェットに垂直方向のスクロールバーを追加65scroll_y = tk.Scrollbar(tab2, orient=VERTICAL,command=listbox_tb2.yview)66listbox_tb2.configure(yscrollcommand=scroll_y.set)67 68scroll_y.pack(side=RIGHT, fill=Y)69scroll_x.pack(side=BOTTOM, fill=X)70 71root.mainloop()72

試したこと・調べたこと

上記の詳細・結果

・タブがない場合は作成することができましたが、タブがある場合がうまくいかなく困っております

補足

特になし

コメントを投稿

0 コメント